A guide to Refactoring mock clones in cloudstack
Mock Clone Instance #cloudstack_MCI_1
- Scope: method level
- Mocked Class:
com.cloud.user.AccountService
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static AccountService createMockAccountService(Account account) {
AccountService accountService = Mockito.mock(AccountService.class);
Mockito.when(accountService.getAccount(Mockito.<Long>nullable(Long.class))).thenReturn(account);
return accountService;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_1_1
Test Case Name: testCreateSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\AddVpnUserCmdTest.java)
Mock Object Variable Name: accountService
Suggested Diff
@@
public void testCreateSuccess() {
- AccountService accountService = Mockito.mock(AccountService.class);
Account account = Mockito.mock(Account.class);
- Mockito.when(accountService.getAccount(nullable(Long.class))).thenReturn(account);
+ AccountService accountService = createMockAccountService(account);
addVpnUserCmd._accountService = accountService;
RemoteAccessVpnService ravService = Mockito.mock(RemoteAccessVpnService.class);
VpnUser vpnUser = Mockito.mock(VpnUser.class);
Mockito.when(ravService.addVpnUser(anyLong(), isNull(), isNull())).thenReturn(vpnUser);
addVpnUserCmd._ravService = ravService;
addVpnUserCmd.create();
}
Original Test Code (click to expand)
@Test
public void testCreateSuccess() {
AccountService accountService = Mockito.mock(AccountService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(accountService.getAccount(nullable(Long.class))).thenReturn(account);
addVpnUserCmd._accountService = accountService;
RemoteAccessVpnService ravService = Mockito.mock(RemoteAccessVpnService.class);
VpnUser vpnUser = Mockito.mock(VpnUser.class);
Mockito.when(ravService.addVpnUser(anyLong(), isNull(), isNull())).thenReturn(vpnUser);
addVpnUserCmd._ravService = ravService;
addVpnUserCmd.create();
}
Reusable Method for MCI (click to expand)
private static AccountService createMockAccountService(Account account) {
AccountService accountService = Mockito.mock(AccountService.class);
Mockito.when(accountService.getAccount(Mockito.<Long>nullable(Long.class))).thenReturn(account);
return accountService;
}
Test Case ID #cloudstack_Test_1_2
Test Case Name: testCreateFailure(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\AddVpnUserCmdTest.java)
Mock Object Variable Name: accountService
Suggested Diff
@@
@Test
public void testCreateFailure() {
- AccountService accountService = Mockito.mock(AccountService.class);
Account account = Mockito.mock(Account.class);
- Mockito.when(accountService.getAccount(nullable(Long.class))).thenReturn(account);
+ AccountService accountService = createMockAccountService(account);
addVpnUserCmd._accountService = accountService;
RemoteAccessVpnService ravService = Mockito.mock(RemoteAccessVpnService.class);
Mockito.when(ravService.addVpnUser(anyLong(), isNull(), isNull())).thenReturn(null);
addVpnUserCmd._ravService = ravService;
try {
addVpnUserCmd.create();
} catch (ServerApiException exception) {
Assert.assertEquals("Failed to add vpn user", exception.getDescription());
}
}
@@
Original Test Code (click to expand)
@Test
public void testCreateFailure() {
AccountService accountService = Mockito.mock(AccountService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(accountService.getAccount(nullable(Long.class))).thenReturn(account);
addVpnUserCmd._accountService = accountService;
RemoteAccessVpnService ravService = Mockito.mock(RemoteAccessVpnService.class);
Mockito.when(ravService.addVpnUser(anyLong(), isNull(), isNull())).thenReturn(null);
addVpnUserCmd._ravService = ravService;
try {
addVpnUserCmd.create();
} catch (ServerApiException exception) {
Assert.assertEquals("Failed to add vpn user", exception.getDescription());
}
}
Reusable Method for MCI (click to expand)
private static AccountService createMockAccountService(Account account) {
AccountService accountService = Mockito.mock(AccountService.class);
Mockito.when(accountService.getAccount(Mockito.<Long>nullable(Long.class))).thenReturn(account);
return accountService;
}
Mock Clone Instance #cloudstack_MCI_2
- Scope: method level
- Mocked Class:
com.cloud.user.AccountService
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static AccountService createMockAccountService(Account account) {
AccountService accountService = Mockito.mock(AccountService.class);
Mockito.when(accountService.getAccount(Mockito.anyLong())).thenReturn(account);
return accountService;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_2_1
Test Case Name: testCreateSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\CreateSnapshotCmdTest.java)
Mock Object Variable Name: accountService
Suggested Diff
@@
@Test
public void testCreateSuccess() {
- AccountService accountService = Mockito.mock(AccountService.class);
Account account = Mockito.mock(Account.class);
- Mockito.when(accountService.getAccount(anyLong())).thenReturn(account);
+ AccountService accountService = createMockAccountService(account);
VolumeApiService volumeApiService = Mockito.mock(VolumeApiService.class);
Snapshot snapshot = Mockito.mock(Snapshot.class);
try {
Mockito.when(volumeApiService.takeSnapshot(nullable(Long.class), nullable(Long.class), isNull(), nullable(Account.class), nullable(Boolean.class), nullable(Snapshot.LocationType.class), nullable(Boolean.class), nullable(Map.class))).thenReturn(snapshot);
} catch (Exception e) {
Assert.fail("Received exception when success expected " + e.getMessage());
}
responseGenerator = Mockito.mock(ResponseGenerator.class);
SnapshotResponse snapshotResponse = Mockito.mock(SnapshotResponse.class);
Mockito.when(responseGenerator.createSnapshotResponse(snapshot)).thenReturn(snapshotResponse);
Mockito.doNothing().when(snapshotResponse).setAccountName(anyString());
createSnapshotCmd._accountService = accountService;
createSnapshotCmd._responseGenerator = responseGenerator;
createSnapshotCmd._volumeService = volumeApiService;
try {
createSnapshotCmd.execute();
} catch (Exception e) {
Assert.fail("Received exception when success expected " + e.getMessage());
}
}
Original Test Code (click to expand)
@Test
public void testCreateSuccess() {
AccountService accountService = Mockito.mock(AccountService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(accountService.getAccount(anyLong())).thenReturn(account);
VolumeApiService volumeApiService = Mockito.mock(VolumeApiService.class);
Snapshot snapshot = Mockito.mock(Snapshot.class);
try {
Mockito.when(volumeApiService.takeSnapshot(nullable(Long.class), nullable(Long.class), isNull(), nullable(Account.class), nullable(Boolean.class), nullable(Snapshot.LocationType.class), nullable(Boolean.class), nullable(Map.class))).thenReturn(snapshot);
} catch (Exception e) {
Assert.fail("Received exception when success expected " + e.getMessage());
}
responseGenerator = Mockito.mock(ResponseGenerator.class);
SnapshotResponse snapshotResponse = Mockito.mock(SnapshotResponse.class);
Mockito.when(responseGenerator.createSnapshotResponse(snapshot)).thenReturn(snapshotResponse);
Mockito.doNothing().when(snapshotResponse).setAccountName(anyString());
createSnapshotCmd._accountService = accountService;
createSnapshotCmd._responseGenerator = responseGenerator;
createSnapshotCmd._volumeService = volumeApiService;
try {
createSnapshotCmd.execute();
} catch (Exception e) {
Assert.fail("Received exception when success expected " + e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static AccountService createMockAccountService(Account account) {
AccountService accountService = Mockito.mock(AccountService.class);
Mockito.when(accountService.getAccount(Mockito.anyLong())).thenReturn(account);
return accountService;
}
Test Case ID #cloudstack_Test_2_2
Test Case Name: testCreateFailure(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\CreateSnapshotCmdTest.java)
Mock Object Variable Name: accountService
Suggested Diff
@@
public void testCreateFailure() {
- AccountService accountService = Mockito.mock(AccountService.class);
Account account = Mockito.mock(Account.class);
- Mockito.when(accountService.getAccount(anyLong())).thenReturn(account);
+ AccountService accountService = createMockAccountService(account);
VolumeApiService volumeApiService = Mockito.mock(VolumeApiService.class);
try {
Mockito.when(volumeApiService.takeSnapshot(nullable(Long.class), nullable(Long.class), nullable(Long.class), nullable(Account.class), nullable(Boolean.class), nullable(Snapshot.LocationType.class), nullable(Boolean.class), anyObject())).thenReturn(null);
} catch (Exception e) {
Assert.fail("Received exception when success expected " + e.getMessage());
}
createSnapshotCmd._accountService = accountService;
createSnapshotCmd._volumeService = volumeApiService;
try {
createSnapshotCmd.execute();
} catch (ServerApiException exception) {
Assert.assertEquals("Failed to create snapshot due to an internal error creating snapshot for volume 123", exception.getDescription());
}
}
@@
Original Test Code (click to expand)
@Test
public void testCreateFailure() {
AccountService accountService = Mockito.mock(AccountService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(accountService.getAccount(anyLong())).thenReturn(account);
VolumeApiService volumeApiService = Mockito.mock(VolumeApiService.class);
try {
Mockito.when(volumeApiService.takeSnapshot(nullable(Long.class), nullable(Long.class), nullable(Long.class), nullable(Account.class), nullable(Boolean.class), nullable(Snapshot.LocationType.class), nullable(Boolean.class), anyObject())).thenReturn(null);
} catch (Exception e) {
Assert.fail("Received exception when success expected " + e.getMessage());
}
createSnapshotCmd._accountService = accountService;
createSnapshotCmd._volumeService = volumeApiService;
try {
createSnapshotCmd.execute();
} catch (ServerApiException exception) {
Assert.assertEquals("Failed to create snapshot due to an internal error creating snapshot for volume 123", exception.getDescription());
}
}
Reusable Method for MCI (click to expand)
private static AccountService createMockAccountService(Account account) {
AccountService accountService = Mockito.mock(AccountService.class);
Mockito.when(accountService.getAccount(Mockito.anyLong())).thenReturn(account);
return accountService;
}
Mock Clone Instance #cloudstack_MCI_3
- Scope: class level
- Mocked Class:
com.cloud.user.AccountService
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockAccountService {
public static AccountService createMockAccountService(String username, long domainId, UserAccountVO userAccount) {
AccountService accountService = Mockito.mock(AccountService.class);
Mockito.when(accountService.createUserAccount(
Mockito.eq(username),
Mockito.eq(""),
Mockito.eq("Admin"),
Mockito.eq("Admin"),
Mockito.eq("admin@ccp.citrix.com"),
Mockito.isNull(String.class),
Mockito.eq(username),
Mockito.eq(Account.Type.DOMAIN_ADMIN),
Mockito.eq(RoleType.DomainAdmin.getId()),
Mockito.eq(domainId),
Mockito.isNull(String.class),
(java.util.Map<String, String>) Mockito.isNull(),
Mockito.anyString(),
Mockito.anyString(),
Mockito.eq(User.Source.LDAP)
)).thenReturn(userAccount);
return accountService;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_3_1
Test Case Name: execute(File: C:\Java_projects\Apache\cloudstack\plugins\user-authenticators\ldap\src\test\java\org\apache\cloudstack\api\command\LinkAccountToLdapCmdTest.java)
Mock Object Variable Name: accountService
Suggested Diff
@@
when(ldapManager.linkAccountToLdap(linkAccountToLdapCmd)).thenReturn(response);
when(ldapManager.getUser(username, type, ldapDomain, 1L)).thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
- when(accountService.getActiveAccountByName(username, domainId)).thenReturn(null);
UserAccountVO userAccount = new UserAccountVO();
userAccount.setAccountId(24);
- when(accountService.createUserAccount(eq(username), eq(""), eq("Admin"), eq("Admin"), eq("admin@ccp.citrix.com"), isNull(String.class), eq(username), eq(Account.Type.DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), (java.util.Map<String, String>) isNull(), anyString(), anyString(), eq(User.Source.LDAP))).thenReturn(userAccount);
+ accountService = MockAccountService.createMockAccountService(username, domainId, userAccount);
+ when(accountService.getActiveAccountByName(username, domainId)).thenReturn(null);
linkAccountToLdapCmd.execute();
LinkAccountToLdapResponse result = (LinkAccountToLdapResponse) linkAccountToLdapCmd.getResponseObject();
assertEquals("objectName", BaseCmd.getCommandNameByClass(LinkAccountToLdapCmd.class), result.getObjectName());
@@
Original Test Code (click to expand)
@Test
public void execute() throws Exception {
long domainId = 1;
String type = "GROUP";
String ldapDomain = "CN=test,DC=ccp,DC=Citrix,DC=com";
Account.Type accountType = Account.Type.DOMAIN_ADMIN;
String username = "admin";
long accountId = 24;
String accountName = "test";
setHiddenField(linkAccountToLdapCmd, "ldapDomain", ldapDomain);
setHiddenField(linkAccountToLdapCmd, "admin", username);
setHiddenField(linkAccountToLdapCmd, "type", type);
setHiddenField(linkAccountToLdapCmd, "domainId", domainId);
setHiddenField(linkAccountToLdapCmd, "accountType", accountType.ordinal());
setHiddenField(linkAccountToLdapCmd, "accountName", accountName);
LinkAccountToLdapResponse response = new LinkAccountToLdapResponse(String.valueOf(domainId), type, ldapDomain, accountType.ordinal(), username, accountName);
when(ldapManager.linkAccountToLdap(linkAccountToLdapCmd)).thenReturn(response);
when(ldapManager.getUser(username, type, ldapDomain, 1L)).thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
when(accountService.getActiveAccountByName(username, domainId)).thenReturn(null);
UserAccountVO userAccount = new UserAccountVO();
userAccount.setAccountId(24);
when(accountService.createUserAccount(eq(username), eq(""), eq("Admin"), eq("Admin"), eq("admin@ccp.citrix.com"), isNull(String.class), eq(username), eq(Account.Type.DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), (java.util.Map<String, String>) isNull(), anyString(), anyString(), eq(User.Source.LDAP))).thenReturn(userAccount);
linkAccountToLdapCmd.execute();
LinkAccountToLdapResponse result = (LinkAccountToLdapResponse) linkAccountToLdapCmd.getResponseObject();
assertEquals("objectName", BaseCmd.getCommandNameByClass(LinkAccountToLdapCmd.class), result.getObjectName());
assertEquals("commandName", linkAccountToLdapCmd.getCommandName(), result.getResponseName());
assertEquals("domainId", String.valueOf(domainId), result.getDomainId());
assertEquals("type", type, result.getType());
assertEquals("name", ldapDomain, result.getLdapDomain());
assertEquals("accountId", String.valueOf(accountId), result.getAdminId());
}
@Before
public void setUp() throws NoSuchFieldException, IllegalAccessException {
linkAccountToLdapCmd = new LinkAccountToLdapCmd();
setHiddenField(linkAccountToLdapCmd, "_ldapManager", ldapManager);
setHiddenField(linkAccountToLdapCmd, "_accountService", accountService);
}
Reusable Method for MCI (click to expand)
public class MockAccountService {
public static AccountService createMockAccountService(String username, long domainId, UserAccountVO userAccount) {
AccountService accountService = Mockito.mock(AccountService.class);
Mockito.when(accountService.createUserAccount(
Mockito.eq(username),
Mockito.eq(""),
Mockito.eq("Admin"),
Mockito.eq("Admin"),
Mockito.eq("admin@ccp.citrix.com"),
Mockito.isNull(String.class),
Mockito.eq(username),
Mockito.eq(Account.Type.DOMAIN_ADMIN),
Mockito.eq(RoleType.DomainAdmin.getId()),
Mockito.eq(domainId),
Mockito.isNull(String.class),
(java.util.Map<String, String>) Mockito.isNull(),
Mockito.anyString(),
Mockito.anyString(),
Mockito.eq(User.Source.LDAP)
)).thenReturn(userAccount);
return accountService;
}
}
Test Case ID #cloudstack_Test_3_2
Test Case Name: execute(File: C:\Java_projects\Apache\cloudstack\plugins\user-authenticators\ldap\src\test\java\org\apache\cloudstack\api\command\LinkDomainToLdapCmdTest.java)
Mock Object Variable Name: accountService
Suggested Diff
@@
setHiddenField(linkDomainToLdapCmd, "ldapDomain", ldapDomain);
setHiddenField(linkDomainToLdapCmd, "admin", username);
setHiddenField(linkDomainToLdapCmd, "type", type);
setHiddenField(linkDomainToLdapCmd, "domainId", domainId);
setHiddenField(linkDomainToLdapCmd, "accountType", accountType.ordinal());
LinkDomainToLdapResponse response = new LinkDomainToLdapResponse(domainId.toString(), type, ldapDomain, accountType.ordinal());
when(ldapManager.linkDomainToLdap(linkDomainToLdapCmd)).thenReturn(response);
when(ldapManager.getUser(username, type, ldapDomain, 1L)).thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
- when(accountService.getActiveAccountByName(username, domainId)).thenReturn(null);
UserAccountVO userAccount = new UserAccountVO();
userAccount.setAccountId(24);
- when(accountService.createUserAccount(eq(username), eq(""), eq("Admin"), eq("Admin"), eq("admin@ccp.citrix.com"), isNull(String.class), eq(username), eq(Account.Type.DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), (java.util.Map<String, String>) isNull(), anyString(), anyString(), eq(User.Source.LDAP))).thenReturn(userAccount);
+ accountService = MockAccountService.createMockAccountService(username, domainId, userAccount);
+ when(accountService.getActiveAccountByName(username, domainId)).thenReturn(null);
linkDomainToLdapCmd.execute();
LinkDomainToLdapResponse result = (LinkDomainToLdapResponse) linkDomainToLdapCmd.getResponseObject();
assertEquals("objectName", "LinkDomainToLdap", result.getObjectName());
assertEquals("commandName", linkDomainToLdapCmd.getCommandName(), result.getResponseName());
assertEquals("domainId", domainId.toString(), result.getDomainId());
assertEquals("type", type, result.getType());
assertEquals("name", ldapDomain, result.getLdapDomain());
assertEquals("accountId", String.valueOf(accountId), result.getAdminId());
@@
Original Test Code (click to expand)
@Before
public void setUp() throws NoSuchFieldException, IllegalAccessException {
linkDomainToLdapCmd = new LinkDomainToLdapCmd();
setHiddenField(linkDomainToLdapCmd, "_ldapManager", ldapManager);
setHiddenField(linkDomainToLdapCmd, "_accountService", accountService);
}
@Test
public void execute() throws Exception {
Long domainId = 1L;
String type = "GROUP";
String ldapDomain = "CN=test,DC=ccp,DC=Citrix,DC=com";
Account.Type accountType = Account.Type.DOMAIN_ADMIN;
String username = "admin";
long accountId = 24;
setHiddenField(linkDomainToLdapCmd, "ldapDomain", ldapDomain);
setHiddenField(linkDomainToLdapCmd, "admin", username);
setHiddenField(linkDomainToLdapCmd, "type", type);
setHiddenField(linkDomainToLdapCmd, "domainId", domainId);
setHiddenField(linkDomainToLdapCmd, "accountType", accountType.ordinal());
LinkDomainToLdapResponse response = new LinkDomainToLdapResponse(domainId.toString(), type, ldapDomain, accountType.ordinal());
when(ldapManager.linkDomainToLdap(linkDomainToLdapCmd)).thenReturn(response);
when(ldapManager.getUser(username, type, ldapDomain, 1L)).thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
when(accountService.getActiveAccountByName(username, domainId)).thenReturn(null);
UserAccountVO userAccount = new UserAccountVO();
userAccount.setAccountId(24);
when(accountService.createUserAccount(eq(username), eq(""), eq("Admin"), eq("Admin"), eq("admin@ccp.citrix.com"), isNull(String.class), eq(username), eq(Account.Type.DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), (java.util.Map<String, String>) isNull(), anyString(), anyString(), eq(User.Source.LDAP))).thenReturn(userAccount);
linkDomainToLdapCmd.execute();
LinkDomainToLdapResponse result = (LinkDomainToLdapResponse) linkDomainToLdapCmd.getResponseObject();
assertEquals("objectName", "LinkDomainToLdap", result.getObjectName());
assertEquals("commandName", linkDomainToLdapCmd.getCommandName(), result.getResponseName());
assertEquals("domainId", domainId.toString(), result.getDomainId());
assertEquals("type", type, result.getType());
assertEquals("name", ldapDomain, result.getLdapDomain());
assertEquals("accountId", String.valueOf(accountId), result.getAdminId());
}
Reusable Method for MCI (click to expand)
public class MockAccountService {
public static AccountService createMockAccountService(String username, long domainId, UserAccountVO userAccount) {
AccountService accountService = Mockito.mock(AccountService.class);
Mockito.when(accountService.createUserAccount(
Mockito.eq(username),
Mockito.eq(""),
Mockito.eq("Admin"),
Mockito.eq("Admin"),
Mockito.eq("admin@ccp.citrix.com"),
Mockito.isNull(String.class),
Mockito.eq(username),
Mockito.eq(Account.Type.DOMAIN_ADMIN),
Mockito.eq(RoleType.DomainAdmin.getId()),
Mockito.eq(domainId),
Mockito.isNull(String.class),
(java.util.Map<String, String>) Mockito.isNull(),
Mockito.anyString(),
Mockito.anyString(),
Mockito.eq(User.Source.LDAP)
)).thenReturn(userAccount);
return accountService;
}
}
Mock Clone Instance #cloudstack_MCI_4
- Scope: class level
- Mocked Class:
com.cloud.network.NetworkModel
- Test Case Count: 11
- MO Count: 11
Reusable Method
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_4_1
Test Case Name: implementTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: _networkModel
Suggested Diff
@@
-NetworkModel _networkModel = mock(NetworkModel.class);
+NetworkModel _networkModel = MockNetworkModel.createMockNetworkModel(Provider.CiscoVnmc, 1L, true);
// Standard responses
-when(_networkModel.isProviderForNetwork(Provider.CiscoVnmc, 1L)).thenReturn(true);
_element.configure("CiscoVnmcTestElement", Collections.<String, Object>emptyMap());
@@
when(_networkAsa1000vMapDao.persist(any(NetworkAsa1000vMapVO.class))).thenReturn(mock(NetworkAsa1000vMapVO.class));
- when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, Provider.CiscoVnmc)).thenReturn(true);
+ when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, Provider.CiscoVnmc)).thenReturn(true);
ClusterVSMMapVO clusterVsmMap = mock(ClusterVSMMapVO.class);
Original Test Code (click to expand)
@Before
public void setUp() throws ConfigurationException {
_element._resourceMgr = mock(ResourceManager.class);
_element._agentMgr = _agentMgr;
_element._networkMgr = _networkMgr;
_element._networkModel = _networkModel;
_element._hostDao = _hostDao;
_element._configMgr = _configMgr;
_element._ciscoVnmcDao = _ciscoVnmcDao;
_element._ciscoAsa1000vDao = _ciscoAsa1000vDao;
_element._networkAsa1000vMapDao = _networkAsa1000vMapDao;
_element._clusterVsmMapDao = _clusterVsmMapDao;
_element._vsmDeviceDao = _vsmDeviceDao;
_element._vlanDao = _vlanDao;
_element._entityMgr = _entityMgr;
when(_networkModel.isProviderForNetwork(Provider.CiscoVnmc, 1L)).thenReturn(true);
_element.configure("CiscoVnmcTestElement", Collections.<String, Object>emptyMap());
}
@Test
public void implementTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getGateway()).thenReturn("1.1.1.1");
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(1L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
DeployDestination dest = mock(DeployDestination.class);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("d1");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("a1");
ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
DataCenter dc = mock(DataCenter.class);
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_entityMgr.findById(DataCenter.class, network.getDataCenterId())).thenReturn(dc);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
CiscoAsa1000vDeviceVO asaVO = mock(CiscoAsa1000vDeviceVO.class);
when(asaVO.getInPortProfile()).thenReturn("foo");
when(asaVO.getManagementIp()).thenReturn("1.2.3.4");
List<CiscoAsa1000vDeviceVO> asaList = new ArrayList<CiscoAsa1000vDeviceVO>();
asaList.add(asaVO);
when(_ciscoAsa1000vDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(asaList);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkAsa1000vMapDao.findByAsa1000vId(anyLong())).thenReturn(null);
when(_networkAsa1000vMapDao.persist(any(NetworkAsa1000vMapVO.class))).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, Provider.CiscoVnmc)).thenReturn(true);
ClusterVSMMapVO clusterVsmMap = mock(ClusterVSMMapVO.class);
when(_clusterVsmMapDao.findByClusterId(anyLong())).thenReturn(clusterVsmMap);
CiscoNexusVSMDeviceVO vsmDevice = mock(CiscoNexusVSMDeviceVO.class);
when(vsmDevice.getUserName()).thenReturn("foo");
when(vsmDevice.getPassword()).thenReturn("bar");
when(vsmDevice.getipaddr()).thenReturn("1.2.3.4");
when(_vsmDeviceDao.findById(anyLong())).thenReturn(vsmDevice);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
PublicIp publicIp = mock(PublicIp.class);
when(publicIp.getAddress()).thenReturn(ip);
when(publicIp.getState()).thenReturn(IpAddress.State.Releasing);
when(publicIp.getAccountId()).thenReturn(1L);
when(publicIp.isSourceNat()).thenReturn(true);
when(publicIp.getVlanTag()).thenReturn("123");
when(publicIp.getGateway()).thenReturn("1.1.1.1");
when(publicIp.getNetmask()).thenReturn("1.1.1.1");
when(publicIp.getMacAddress()).thenReturn(null);
when(publicIp.isOneToOneNat()).thenReturn(true);
when(_ipAddrMgr.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(publicIp);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanGateway()).thenReturn("1.1.1.1");
List<VlanVO> vlanVOList = new ArrayList<VlanVO>();
when(_vlanDao.listVlansByPhysicalNetworkId(network.getPhysicalNetworkId())).thenReturn(vlanVOList);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CreateLogicalEdgeFirewallCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(ConfigureNexusVsmForAsaCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(SetSourceNatCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(AssociateAsaWithLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Test Case ID #cloudstack_Test_4_2
Test Case Name: applyFWRulesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: _networkModel
Suggested Diff
@@
when(ipAddress.getAddress()).thenReturn(ip);
- when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
- when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.Firewall, Provider.CiscoVnmc)).thenReturn(true);
+ _networkModel = MockNetworkModel.createMockNetworkModel(Provider.CiscoVnmc, 1L, true);
+ when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
+ when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.Firewall, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
@@
Original Test Code (click to expand)
@Test
public void applyFWRulesTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.Firewall, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
FirewallRule rule = mock(FirewallRule.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
List<FirewallRule> rules = new ArrayList<FirewallRule>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetFirewallRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyFWRules(network, rules));
}
@Before
public void setUp() throws ConfigurationException {
_element._resourceMgr = mock(ResourceManager.class);
_element._agentMgr = _agentMgr;
_element._networkMgr = _networkMgr;
_element._networkModel = _networkModel;
_element._hostDao = _hostDao;
_element._configMgr = _configMgr;
_element._ciscoVnmcDao = _ciscoVnmcDao;
_element._ciscoAsa1000vDao = _ciscoAsa1000vDao;
_element._networkAsa1000vMapDao = _networkAsa1000vMapDao;
_element._clusterVsmMapDao = _clusterVsmMapDao;
_element._vsmDeviceDao = _vsmDeviceDao;
_element._vlanDao = _vlanDao;
_element._entityMgr = _entityMgr;
when(_networkModel.isProviderForNetwork(Provider.CiscoVnmc, 1L)).thenReturn(true);
_element.configure("CiscoVnmcTestElement", Collections.<String, Object>emptyMap());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Test Case ID #cloudstack_Test_4_3
Test Case Name: applyPRulesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: _networkModel
Suggested Diff
@@
when(ipAddress.getVlanId()).thenReturn(1L);
- when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
- when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.PortForwarding, Provider.CiscoVnmc)).thenReturn(true);
+ _networkModel = MockNetworkModel.createMockNetworkModel(Provider.CiscoVnmc, 1L, true);
+ when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
+ when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.PortForwarding, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
@@
Original Test Code (click to expand)
@Before
public void setUp() throws ConfigurationException {
_element._resourceMgr = mock(ResourceManager.class);
_element._agentMgr = _agentMgr;
_element._networkMgr = _networkMgr;
_element._networkModel = _networkModel;
_element._hostDao = _hostDao;
_element._configMgr = _configMgr;
_element._ciscoVnmcDao = _ciscoVnmcDao;
_element._ciscoAsa1000vDao = _ciscoAsa1000vDao;
_element._networkAsa1000vMapDao = _networkAsa1000vMapDao;
_element._clusterVsmMapDao = _clusterVsmMapDao;
_element._vsmDeviceDao = _vsmDeviceDao;
_element._vlanDao = _vlanDao;
_element._entityMgr = _entityMgr;
when(_networkModel.isProviderForNetwork(Provider.CiscoVnmc, 1L)).thenReturn(true);
_element.configure("CiscoVnmcTestElement", Collections.<String, Object>emptyMap());
}
@Test
public void applyPRulesTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.PortForwarding, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
PortForwardingRule rule = mock(PortForwardingRule.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestinationIpAddress()).thenReturn(ip);
List<PortForwardingRule> rules = new ArrayList<PortForwardingRule>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetPortForwardingRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyPFRules(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Test Case ID #cloudstack_Test_4_4
Test Case Name: applyStaticNatsTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: _networkModel
Suggested Diff
@@
@Before
public void setUp() throws ConfigurationException {
- _element._resourceMgr = mock(ResourceManager.class);
- _element._agentMgr = _agentMgr;
- _element._networkMgr = _networkMgr;
- _element._networkModel = _networkModel;
- _element._hostDao = _hostDao;
- _element._configMgr = _configMgr;
- _element._ciscoVnmcDao = _ciscoVnmcDao;
- _element._ciscoAsa1000vDao = _ciscoAsa1000vDao;
- _element._networkAsa1000vMapDao = _networkAsa1000vMapDao;
- _element._clusterVsmMapDao = _clusterVsmMapDao;
- _element._vsmDeviceDao = _vsmDeviceDao;
- _element._vlanDao = _vlanDao;
- _element._entityMgr = _entityMgr;
- // Standard responses
- when(_networkModel.isProviderForNetwork(Provider.CiscoVnmc, 1L)).thenReturn(true);
+ _element._resourceMgr = mock(ResourceManager.class);
+ _element._agentMgr = _agentMgr;
+ _element._networkMgr = _networkMgr;
+ // _networkModel will be set in the test method
+ _element._hostDao = _hostDao;
+ _element._configMgr = _configMgr;
+ _element._ciscoVnmcDao = _ciscoVnmcDao;
+ _element._ciscoAsa1000vDao = _ciscoAsa1000vDao;
+ _element._networkAsa1000vMapDao = _networkAsa1000vMapDao;
+ _element._clusterVsmMapDao = _clusterVsmMapDao;
+ _element._vsmDeviceDao = _vsmDeviceDao;
+ _element._vlanDao = _vlanDao;
+ _element._entityMgr = _entityMgr;
_element.configure("CiscoVnmcTestElement", Collections.<String, Object>emptyMap());
}
@Test
public void applyStaticNatsTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
+ _networkModel = MockNetworkModel.createMockNetworkModel(Provider.CiscoVnmc, 1L, true);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.StaticNat, Provider.CiscoVnmc)).thenReturn(true);
_element._networkModel = _networkModel;
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
StaticNat rule = mock(StaticNat.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestIpAddress()).thenReturn("1.2.3.4");
when(rule.isForRevoke()).thenReturn(false);
List<StaticNat> rules = new ArrayList<StaticNat>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetStaticNatRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyStaticNats(network, rules));
}
@@
Original Test Code (click to expand)
@Before
public void setUp() throws ConfigurationException {
_element._resourceMgr = mock(ResourceManager.class);
_element._agentMgr = _agentMgr;
_element._networkMgr = _networkMgr;
_element._networkModel = _networkModel;
_element._hostDao = _hostDao;
_element._configMgr = _configMgr;
_element._ciscoVnmcDao = _ciscoVnmcDao;
_element._ciscoAsa1000vDao = _ciscoAsa1000vDao;
_element._networkAsa1000vMapDao = _networkAsa1000vMapDao;
_element._clusterVsmMapDao = _clusterVsmMapDao;
_element._vsmDeviceDao = _vsmDeviceDao;
_element._vlanDao = _vlanDao;
_element._entityMgr = _entityMgr;
when(_networkModel.isProviderForNetwork(Provider.CiscoVnmc, 1L)).thenReturn(true);
_element.configure("CiscoVnmcTestElement", Collections.<String, Object>emptyMap());
}
@Test
public void applyStaticNatsTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.StaticNat, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
StaticNat rule = mock(StaticNat.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestIpAddress()).thenReturn("1.2.3.4");
when(rule.isForRevoke()).thenReturn(false);
List<StaticNat> rules = new ArrayList<StaticNat>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetStaticNatRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyStaticNats(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Test Case ID #cloudstack_Test_4_5
Test Case Name: canHandleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
-NetworkModel networkModel = mock(NetworkModel.class);
-// Standard responses
-when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
+// Standard responses
+networkModel = MockNetworkModel.createMockNetworkModel(Provider.NiciraNvp, NETWORK_ID, true);
element.configure("NiciraNvpTestElement", Collections.<String, Object>emptyMap());
@@
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(false);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
// NVP provider does not provide Connectivity for this network
assertFalse(element.canHandle(net, Service.Connectivity));
- when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
+ when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
// Only service Connectivity is supported
assertFalse(element.canHandle(net, Service.Dhcp));
@@
Original Test Code (click to expand)
@Before
public void setUp() throws ConfigurationException {
element.resourceMgr = mock(ResourceManager.class);
element.networkManager = networkManager;
element.ntwkSrvcDao = ntwkSrvcDao;
element.networkModel = networkModel;
element.agentMgr = agentManager;
element.hostDao = hostDao;
element.niciraNvpDao = niciraNvpDao;
element.niciraNvpRouterMappingDao = niciraNvpRouterMappingDao;
element.vlanDao = vlanDao;
element.ipAddrMgr = ipAddressManager;
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
element.configure("NiciraNvpTestElement", Collections.<String, Object>emptyMap());
}
@Test
public void canHandleTest() {
final Network net = mock(Network.class);
when(net.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(net.getId()).thenReturn(NETWORK_ID);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
assertTrue(element.canHandle(net, Service.Connectivity));
when(net.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
assertFalse(element.canHandle(net, Service.Connectivity));
when(net.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(false);
assertFalse(element.canHandle(net, Service.Connectivity));
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(false);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
assertFalse(element.canHandle(net, Service.Connectivity));
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
assertFalse(element.canHandle(net, Service.Dhcp));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Test Case ID #cloudstack_Test_4_6
Test Case Name: implementIsolatedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
when(network.getGuestType()).thenReturn(GuestType.Isolated);
- when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
+ networkModel = MockNetworkModel.createMockNetworkModel(Provider.NiciraNvp, NETWORK_ID, true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
@@
when(context.getAccount()).thenReturn(acc);
//ISOLATED NETWORK
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
Original Test Code (click to expand)
@Test
public void implementIsolatedNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException, URISyntaxException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Isolated);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("10.0.0.0");
when(sourceNatIp.getAddress()).thenReturn(ip);
when(sourceNatIp.getVlanNetmask()).thenReturn("255.255.255.0");
when(sourceNatIp.getVlanTag()).thenReturn("111");
when(ipAddressManager.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(sourceNatIp);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
final CreateLogicalRouterAnswer answer = mock(CreateLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
@Before
public void setUp() throws ConfigurationException {
element.resourceMgr = mock(ResourceManager.class);
element.networkManager = networkManager;
element.ntwkSrvcDao = ntwkSrvcDao;
element.networkModel = networkModel;
element.agentMgr = agentManager;
element.hostDao = hostDao;
element.niciraNvpDao = niciraNvpDao;
element.niciraNvpRouterMappingDao = niciraNvpRouterMappingDao;
element.vlanDao = vlanDao;
element.ipAddrMgr = ipAddressManager;
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
element.configure("NiciraNvpTestElement", Collections.<String, Object>emptyMap());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Test Case ID #cloudstack_Test_4_7
Test Case Name: implementSharedNetworkUuidVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
@Before
public void setUp() throws ConfigurationException {
- element.resourceMgr = mock(ResourceManager.class);
- element.networkManager = networkManager;
- element.ntwkSrvcDao = ntwkSrvcDao;
- element.networkModel = networkModel;
- element.agentMgr = agentManager;
- element.hostDao = hostDao;
- element.niciraNvpDao = niciraNvpDao;
- element.niciraNvpRouterMappingDao = niciraNvpRouterMappingDao;
- element.vlanDao = vlanDao;
- element.ipAddrMgr = ipAddressManager;
- // Standard responses
- when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
+ element.resourceMgr = mock(ResourceManager.class);
+ element.networkManager = networkManager;
+ element.ntwkSrvcDao = ntwkSrvcDao;
+ networkModel = MockNetworkModel.createMockNetworkModel(Provider.NiciraNvp, NETWORK_ID, true);
+ element.networkModel = networkModel;
+ element.agentMgr = agentManager;
+ element.hostDao = hostDao;
+ element.niciraNvpDao = niciraNvpDao;
+ element.niciraNvpRouterMappingDao = niciraNvpRouterMappingDao;
+ element.vlanDao = vlanDao;
+ element.ipAddrMgr = ipAddressManager;
element.configure("NiciraNvpTestElement", Collections.<String, Object>emptyMap());
}
@@
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
- when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
@@
Original Test Code (click to expand)
@Before
public void setUp() throws ConfigurationException {
element.resourceMgr = mock(ResourceManager.class);
element.networkManager = networkManager;
element.ntwkSrvcDao = ntwkSrvcDao;
element.networkModel = networkModel;
element.agentMgr = agentManager;
element.hostDao = hostDao;
element.niciraNvpDao = niciraNvpDao;
element.niciraNvpRouterMappingDao = niciraNvpRouterMappingDao;
element.vlanDao = vlanDao;
element.ipAddrMgr = ipAddressManager;
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
element.configure("NiciraNvpTestElement", Collections.<String, Object>emptyMap());
}
@Test
public void implementSharedNetworkUuidVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(true);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
NiciraNvpRouterMappingVO mapping = mock(NiciraNvpRouterMappingVO.class);
when(mapping.getLogicalRouterUuid()).thenReturn("xxxx-xxxx-xxxx");
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(mapping);
final ConfigureSharedNetworkUuidAnswer answer = mock(ConfigureSharedNetworkUuidAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Test Case ID #cloudstack_Test_4_8
Test Case Name: implementSharedNetworkNumericalVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
-NetworkModel networkModel = mock(NetworkModel.class);
+NetworkModel networkModel = MockNetworkModel.createMockNetworkModel(Provider.NiciraNvp, NETWORK_ID, true);
element.resourceMgr = mock(ResourceManager.class);
element.networkManager = networkManager;
element.ntwkSrvcDao = ntwkSrvcDao;
element.networkModel = networkModel;
element.agentMgr = agentManager;
element.hostDao = hostDao;
element.niciraNvpDao = niciraNvpDao;
element.niciraNvpRouterMappingDao = niciraNvpRouterMappingDao;
element.vlanDao = vlanDao;
element.ipAddrMgr = ipAddressManager;
// Standard responses
-when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
element.configure("NiciraNvpTestElement", Collections.<String, Object>emptyMap());
@@
when(network.getGuestType()).thenReturn(GuestType.Shared);
- when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
Original Test Code (click to expand)
@Before
public void setUp() throws ConfigurationException {
element.resourceMgr = mock(ResourceManager.class);
element.networkManager = networkManager;
element.ntwkSrvcDao = ntwkSrvcDao;
element.networkModel = networkModel;
element.agentMgr = agentManager;
element.hostDao = hostDao;
element.niciraNvpDao = niciraNvpDao;
element.niciraNvpRouterMappingDao = niciraNvpRouterMappingDao;
element.vlanDao = vlanDao;
element.ipAddrMgr = ipAddressManager;
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
element.configure("NiciraNvpTestElement", Collections.<String, Object>emptyMap());
}
@Test
public void implementSharedNetworkNumericalVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn("bbbb-bbbb-bbbb");
final ConfigureSharedNetworkVlanIdAnswer answer = mock(ConfigureSharedNetworkVlanIdAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Test Case ID #cloudstack_Test_4_9
Test Case Name: implementSharedNetworkNumericalVlanIdWithoutL2GatewayService(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
-NetworkModel networkModel = mock(NetworkModel.class);
-// Standard responses
-when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
+NetworkModel networkModel = MockNetworkModel.createMockNetworkModel(Provider.NiciraNvp, NETWORK_ID, true);
element.resourceMgr = mock(ResourceManager.class);
element.networkManager = networkManager;
element.ntwkSrvcDao = ntwkSrvcDao;
element.networkModel = networkModel;
@@
- when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
+ when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
Original Test Code (click to expand)
@Before
public void setUp() throws ConfigurationException {
element.resourceMgr = mock(ResourceManager.class);
element.networkManager = networkManager;
element.ntwkSrvcDao = ntwkSrvcDao;
element.networkModel = networkModel;
element.agentMgr = agentManager;
element.hostDao = hostDao;
element.niciraNvpDao = niciraNvpDao;
element.niciraNvpRouterMappingDao = niciraNvpRouterMappingDao;
element.vlanDao = vlanDao;
element.ipAddrMgr = ipAddressManager;
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
element.configure("NiciraNvpTestElement", Collections.<String, Object>emptyMap());
}
@Test(expected = CloudRuntimeException.class)
public void implementSharedNetworkNumericalVlanIdWithoutL2GatewayService() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn(null);
element.implement(network, offering, dest, context);
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Test Case ID #cloudstack_Test_4_10
Test Case Name: testCanHandle(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\element\VirtualRouterElementTest.java)
Mock Object Variable Name: _networkMdl
Suggested Diff
@@
when(virtualRouterElement._networkMdl.getPhysicalNetworkId(network)).thenReturn(physicalNetworkId);
- when(virtualRouterElement._networkMdl.isProviderEnabledInPhysicalNetwork(physicalNetworkId, Network.Provider.VirtualRouter.getName())).thenReturn(true);
- when(virtualRouterElement._networkMdl.isProviderForNetwork(Network.Provider.VirtualRouter, networkId)).thenReturn(true);
+ virtualRouterElement._networkMdl = MockNetworkModel.createMockNetworkModel(Network.Provider.VirtualRouter, networkId, true);
+ when(virtualRouterElement._networkMdl.getPhysicalNetworkId(network)).thenReturn(physicalNetworkId);
+ when(virtualRouterElement._networkMdl.isProviderEnabledInPhysicalNetwork(physicalNetworkId, Network.Provider.VirtualRouter.getName())).thenReturn(true);
assertTrue(virtualRouterElement.canHandle(network, null));
@@
Original Test Code (click to expand)
private void mockMgrs() throws ConcurrentOperationException {
final Service service = Service.Connectivity;
testNetwork.setState(Network.State.Implementing);
testNetwork.setTrafficType(TrafficType.Guest);
when(_networkMdl.isProviderEnabledInPhysicalNetwork(0L, "VirtualRouter")).thenReturn(true);
when(_networkMdl.isProviderSupportServiceInNetwork(testNetwork.getId(), service, Network.Provider.VirtualRouter)).thenReturn(true);
when(_networkMdl.isProviderForNetwork(Network.Provider.VirtualRouter, 0L)).thenReturn(true);
when(testVMProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(testVMProfile.getHypervisorType()).thenReturn(HypervisorType.XenServer);
final List<NetworkVO> networks = new ArrayList<NetworkVO>(1);
networks.add(testNetwork);
final List<NetworkOfferingVO> offerings = new ArrayList<NetworkOfferingVO>(1);
offerings.add(testOffering);
doReturn(offerings).when(_networkModel).getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork);
doReturn(networks).when(_networkMgr).setupNetwork(any(Account.class), any(NetworkOffering.class), any(DeploymentPlan.class), any(String.class), any(String.class), anyBoolean());
doReturn(HypervisorType.XenServer).when(_resourceMgr).getDefaultHypervisor(anyLong());
doReturn(new AccountVO()).when(_accountMgr).getAccount(testNetwork.getAccountId());
}
@Test
public void testCanHandle() {
Network network = Mockito.mock(Network.class);
final long networkId = 1;
final long physicalNetworkId = 42;
final long networkOfferingId = 10;
final long dataCenterId = 33;
when(network.getId()).thenReturn(networkId);
lenient().when(network.getPhysicalNetworkId()).thenReturn(physicalNetworkId);
lenient().when(network.getTrafficType()).thenReturn(TrafficType.Guest);
lenient().when(network.getNetworkOfferingId()).thenReturn(networkOfferingId);
lenient().when(network.getDataCenterId()).thenReturn(dataCenterId);
when(network.getVpcId()).thenReturn(null);
when(virtualRouterElement._networkMdl.getPhysicalNetworkId(network)).thenReturn(physicalNetworkId);
when(virtualRouterElement._networkMdl.isProviderEnabledInPhysicalNetwork(physicalNetworkId, Network.Provider.VirtualRouter.getName())).thenReturn(true);
when(virtualRouterElement._networkMdl.isProviderForNetwork(Network.Provider.VirtualRouter, networkId)).thenReturn(true);
assertTrue(virtualRouterElement.canHandle(network, null));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Test Case ID #cloudstack_Test_4_11
Test Case Name: testAddPasswordAndUserdata(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\element\VirtualRouterElementTest.java)
Mock Object Variable Name: _networkMdl
Suggested Diff
@@
+ // Cannot refactor this mock: The reusable helper only stubs isProviderForNetwork, but the test method does not call or stub isProviderForNetwork at all. All test-specific stubs are for isProviderEnabledInPhysicalNetwork, isProviderSupportServiceInNetwork, and getPhysicalNetworkId, which are not covered by the helper. Thus, using the helper would not eliminate any duplicated mock-creation or stubbing code.
@@
Original Test Code (click to expand)
private void mockMgrs() throws ConcurrentOperationException {
final Service service = Service.Connectivity;
testNetwork.setState(Network.State.Implementing);
testNetwork.setTrafficType(TrafficType.Guest);
when(_networkMdl.isProviderEnabledInPhysicalNetwork(0L, "VirtualRouter")).thenReturn(true);
when(_networkMdl.isProviderSupportServiceInNetwork(testNetwork.getId(), service, Network.Provider.VirtualRouter)).thenReturn(true);
when(_networkMdl.isProviderForNetwork(Network.Provider.VirtualRouter, 0L)).thenReturn(true);
when(testVMProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(testVMProfile.getHypervisorType()).thenReturn(HypervisorType.XenServer);
final List<NetworkVO> networks = new ArrayList<NetworkVO>(1);
networks.add(testNetwork);
final List<NetworkOfferingVO> offerings = new ArrayList<NetworkOfferingVO>(1);
offerings.add(testOffering);
doReturn(offerings).when(_networkModel).getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork);
doReturn(networks).when(_networkMgr).setupNetwork(any(Account.class), any(NetworkOffering.class), any(DeploymentPlan.class), any(String.class), any(String.class), anyBoolean());
doReturn(HypervisorType.XenServer).when(_resourceMgr).getDefaultHypervisor(anyLong());
doReturn(new AccountVO()).when(_accountMgr).getAccount(testNetwork.getAccountId());
}
@Test
public void testAddPasswordAndUserdata() throws Exception {
Network network = Mockito.mock(Network.class);
VirtualMachineProfile vm = Mockito.mock(VirtualMachineProfile.class);
NicProfile nic = Mockito.mock(NicProfile.class);
DeployDestination dest = Mockito.mock(DeployDestination.class);
ReservationContext context = Mockito.mock(ReservationContext.class);
Service service = Service.UserData;
final long networkId = 1;
final long physicalNetworkId = 42;
final long networkOfferingId = 10;
final long dataCenterId = 33;
when(network.getId()).thenReturn(networkId);
lenient().when(network.getPhysicalNetworkId()).thenReturn(physicalNetworkId);
lenient().when(network.getTrafficType()).thenReturn(TrafficType.Guest);
lenient().when(network.getNetworkOfferingId()).thenReturn(networkOfferingId);
lenient().when(network.getDataCenterId()).thenReturn(dataCenterId);
when(network.getVpcId()).thenReturn(null);
lenient().when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(virtualRouterElement._networkMdl.getPhysicalNetworkId(network)).thenReturn(physicalNetworkId);
when(virtualRouterElement._networkMdl.isProviderEnabledInPhysicalNetwork(physicalNetworkId, Network.Provider.VirtualRouter.getName())).thenReturn(true);
when(virtualRouterElement._networkMdl.isProviderSupportServiceInNetwork(networkId, service, Network.Provider.VirtualRouter)).thenReturn(true);
lenient().when(virtualRouterElement._dcDao.findById(dataCenterId)).thenReturn(Mockito.mock(DataCenterVO.class));
when(virtualRouterElement.canHandle(network, service)).thenReturn(false);
assertTrue(virtualRouterElement.addPasswordAndUserdata(network, nic, vm, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network.Provider provider, long networkId, boolean returnValue) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.isProviderForNetwork(provider, networkId)).thenReturn(returnValue);
return networkModel;
}
}
Mock Clone Instance #cloudstack_MCI_5
- Scope: class level
- Mocked Class:
com.cloud.network.NetworkModel
- Test Case Count: 9
- MO Count: 9
Reusable Method
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network publicNetwork) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
return networkModel;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_5_1
Test Case Name: applyFWRulesWithAddIngressRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
Network publicNetwork = mock(Network.class);
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
Ip ip = mock(Ip.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ networkModel = MockNetworkModel.createMockNetworkModel(publicNetwork);
when(ipAddressDao.findById(anyLong())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
@@
Original Test Code (click to expand)
@Test
public void applyFWRulesWithAddIngressRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
Ip ip = mock(Ip.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findById(anyLong())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network publicNetwork) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
return networkModel;
}
}
Test Case ID #cloudstack_Test_5_2
Test Case Name: removePublicNetworkSubnetTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
VlanVO vlanVO = mock(VlanVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer removeTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ networkModel = MockNetworkModel.createMockNetworkModel(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(removeTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
when(removeTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
assertTrue(tungstenService.removePublicNetworkSubnet(vlanVO));
verify(ipAddressDao, times(1)).unassignIpAddress(anyLong());
@@
Original Test Code (click to expand)
@Test
public void removePublicNetworkSubnetTest() {
VlanVO vlanVO = mock(VlanVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer removeTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(removeTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
when(removeTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
assertTrue(tungstenService.removePublicNetworkSubnet(vlanVO));
verify(ipAddressDao, times(1)).unassignIpAddress(anyLong());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network publicNetwork) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
return networkModel;
}
}
Test Case ID #cloudstack_Test_5_3
Test Case Name: applyFWRulesWithRevokeRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Revoke);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ networkModel = MockNetworkModel.createMockNetworkModel(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteNetworkPolicyAnswer);
when(deleteNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
@@
Original Test Code (click to expand)
@Test
public void applyFWRulesWithRevokeRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteNetworkPolicyAnswer);
when(deleteNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network publicNetwork) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
return networkModel;
}
}
Test Case ID #cloudstack_Test_5_4
Test Case Name: updateLoadBalancerTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
Network publicNetwork = mock(Network.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ networkModel = MockNetworkModel.createMockNetworkModel(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
Original Test Code (click to expand)
@Test
public void updateLoadBalancerTest() {
Network network = mock(Network.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
Network publicNetwork = mock(Network.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network publicNetwork) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
return networkModel;
}
}
Test Case ID #cloudstack_Test_5_5
Test Case Name: createPublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
Network publicNetwork = mock(Network.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer createPublicNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer createFloatingIpPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ networkModel = MockNetworkModel.createMockNetworkModel(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createPublicNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFloatingIpPoolCommand.class), anyLong())).thenReturn(createFloatingIpPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(createPublicNetworkAnswer.getResult()).thenReturn(true);
when(createFloatingIpPoolAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
when(createPublicNetworkAnswer.getApiObjectBase()).thenReturn(virtualNetwork);
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
when(virtualNetwork.getQualifiedName()).thenReturn(Arrays.asList("default-domain", "default-project", "publicNetwork"));
assertTrue(tungstenService.createPublicNetwork(1L));
@@
Original Test Code (click to expand)
@Test
public void createPublicNetworkTest() {
Network publicNetwork = mock(Network.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer createPublicNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer createFloatingIpPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createPublicNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFloatingIpPoolCommand.class), anyLong())).thenReturn(createFloatingIpPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(createPublicNetworkAnswer.getResult()).thenReturn(true);
when(createFloatingIpPoolAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
when(createPublicNetworkAnswer.getApiObjectBase()).thenReturn(virtualNetwork);
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
when(virtualNetwork.getQualifiedName()).thenReturn(Arrays.asList("default-domain", "default-project", "publicNetwork"));
assertTrue(tungstenService.createPublicNetwork(1L));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network publicNetwork) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
return networkModel;
}
}
Test Case ID #cloudstack_Test_5_6
Test Case Name: shutdownProviderInstancesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
Network publicNetwork = mock(Network.class);
VlanVO vlanVO1 = mock(VlanVO.class);
VlanVO vlanVO2 = mock(VlanVO.class);
List<VlanVO> vlanVOList = Arrays.asList(vlanVO1, vlanVO2);
HostPodVO hostPodVO1 = mock(HostPodVO.class);
HostPodVO hostPodVO2 = mock(HostPodVO.class);
List<HostPodVO> hostPodVOList = Arrays.asList(hostPodVO1, hostPodVO2);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ networkModel = MockNetworkModel.createMockNetworkModel(publicNetwork);
when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(vlanDao.listVlansByNetworkIdIncludingRemoved(anyLong())).thenReturn(vlanVOList);
when(hostPodDao.listByDataCenterId(anyLong())).thenReturn(hostPodVOList);
assertTrue(tungstenElement.shutdownProviderInstances(physicalNetworkServiceProvider, reservationContext));
verify(networkServiceMapDao, times(1)).deleteByNetworkId(anyLong());
verify(tungstenService, times(2)).removePublicNetworkSubnet(any(VlanVO.class));
verify(tungstenService, times(1)).deletePublicNetwork(anyLong());
verify(tungstenService, times(2)).removeManagementNetworkSubnet(any(HostPodVO.class));
verify(tungstenService, times(1)).deleteManagementNetwork(anyLong());
@@
Original Test Code (click to expand)
@Test
public void shutdownProviderInstancesTest() throws ConcurrentOperationException {
PhysicalNetworkServiceProvider physicalNetworkServiceProvider = mock(PhysicalNetworkServiceProvider.class);
ReservationContext reservationContext = mock(ReservationContext.class);
PhysicalNetworkVO physicalNetworkVO = mock(PhysicalNetworkVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
Network publicNetwork = mock(Network.class);
VlanVO vlanVO1 = mock(VlanVO.class);
VlanVO vlanVO2 = mock(VlanVO.class);
List<VlanVO> vlanVOList = Arrays.asList(vlanVO1, vlanVO2);
HostPodVO hostPodVO1 = mock(HostPodVO.class);
HostPodVO hostPodVO2 = mock(HostPodVO.class);
List<HostPodVO> hostPodVOList = Arrays.asList(hostPodVO1, hostPodVO2);
when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(vlanDao.listVlansByNetworkIdIncludingRemoved(anyLong())).thenReturn(vlanVOList);
when(hostPodDao.listByDataCenterId(anyLong())).thenReturn(hostPodVOList);
assertTrue(tungstenElement.shutdownProviderInstances(physicalNetworkServiceProvider, reservationContext));
verify(networkServiceMapDao, times(1)).deleteByNetworkId(anyLong());
verify(tungstenService, times(2)).removePublicNetworkSubnet(any(VlanVO.class));
verify(tungstenService, times(1)).deletePublicNetwork(anyLong());
verify(tungstenService, times(2)).removeManagementNetworkSubnet(any(HostPodVO.class));
verify(tungstenService, times(1)).deleteManagementNetwork(anyLong());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network publicNetwork) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
return networkModel;
}
}
Test Case ID #cloudstack_Test_5_7
Test Case Name: addPublicNetworkSubnetTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
Network publicNetwork = mock(Network.class);
TungstenAnswer addTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ networkModel = MockNetworkModel.createMockNetworkModel(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addTungstenNetworkSubnetAnswer);
Original Test Code (click to expand)
@Test
public void addPublicNetworkSubnetTest() {
VlanVO vlanVO = mock(VlanVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer addTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
when(vlanVO.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
when(vlanVO.getVlanGateway()).thenReturn("192.168.100.1");
when(vlanVO.getVlanNetmask()).thenReturn("255.255.255.0");
when(publicNetwork.getCidr()).thenReturn("192.168.100.0/24");
when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
assertTrue(tungstenService.addPublicNetworkSubnet(vlanVO));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network publicNetwork) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
return networkModel;
}
}
Test Case ID #cloudstack_Test_5_8
Test Case Name: applyFWRulesWithAddEgressRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ networkModel = MockNetworkModel.createMockNetworkModel(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Egress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
@@
Original Test Code (click to expand)
@Test
public void applyFWRulesWithAddEgressRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Egress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network publicNetwork) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
return networkModel;
}
}
Test Case ID #cloudstack_Test_5_9
Test Case Name: deletePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
@Test
public void deletePublicNetworkTest() {
Network publicNetwork = mock(Network.class);
- TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
- TungstenAnswer deleteTungstenFloatingIpPoolAnswer = mock(TungstenAnswer.class);
- TungstenAnswer deleteTungstenNetworkAnswer = mock(TungstenAnswer.class);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
+ TungstenAnswer deleteTungstenFloatingIpPoolAnswer = mock(TungstenAnswer.class);
+ TungstenAnswer deleteTungstenNetworkAnswer = mock(TungstenAnswer.class);
+ networkModel = MockNetworkModel.createMockNetworkModel(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpPoolCommand.class), anyLong())).thenReturn(deleteTungstenFloatingIpPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong())).thenReturn(deleteTungstenNetworkAnswer);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
when(deleteTungstenFloatingIpPoolAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkAnswer.getResult()).thenReturn(true);
assertTrue(tungstenService.deletePublicNetwork(1L));
}
Original Test Code (click to expand)
@Test
public void deletePublicNetworkTest() {
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenFloatingIpPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkAnswer = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpPoolCommand.class), anyLong())).thenReturn(deleteTungstenFloatingIpPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong())).thenReturn(deleteTungstenNetworkAnswer);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
when(deleteTungstenFloatingIpPoolAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkAnswer.getResult()).thenReturn(true);
assertTrue(tungstenService.deletePublicNetwork(1L));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network publicNetwork) {
NetworkModel networkModel = mock(NetworkModel.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
return networkModel;
}
}
Mock Clone Instance #cloudstack_MCI_6
- Scope: class level
- Mocked Class:
com.cloud.network.NetworkModel
- Test Case Count: 15
- MO Count: 15
Reusable Method
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_6_1
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_2
Test Case Name: testImplementFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
@@
Original Test Code (click to expand)
@Test
public void testImplementFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_3
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
@@
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_4
Test Case Name: testReserveFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
@Test
public void testReserveFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
- final NetworkVO network = mock(NetworkVO.class);
- when(network.getName()).thenReturn("testnetwork");
- when(network.getState()).thenReturn(State.Implementing);
- when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
- when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
- when(network.getDataCenterId()).thenReturn(NETWORK_ID);
- final NicProfile nic = mock(NicProfile.class);
- when(nic.getMacAddress()).thenReturn("macaddress");
- when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
- final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
- final DeployDestination dest = mock(DeployDestination.class);
- final DataCenterVO dc = mock(DataCenterVO.class);
- when(dest.getDataCenter()).thenReturn(dc);
- when(dcdao.findById((long) anyInt())).thenReturn(dc);
- final HostVO brocadeHost = mock(HostVO.class);
- when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
- when(brocadeHost.getId()).thenReturn(NETWORK_ID);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
@@
Original Test Code (click to expand)
@Test
public void testReserveFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_5
Test Case Name: testDeallocate(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
@@
Original Test Code (click to expand)
@Test
public void testDeallocate() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final DisassociateMacFromNetworkAnswer answer = mock(DisassociateMacFromNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.deallocate(network, nic, vmProfile);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_6
Test Case Name: testDeallocateFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
@@
Original Test Code (click to expand)
@Test
public void testDeallocateFail() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final DisassociateMacFromNetworkAnswer answer = mock(DisassociateMacFromNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.deallocate(network, nic, vmProfile);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_7
Test Case Name: testTrash(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final BrocadeVcsNetworkVlanMappingVO mapping = mock(BrocadeVcsNetworkVlanMappingVO.class);
Original Test Code (click to expand)
@Test
public void testTrash() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsNetworkVlanMappingVO mapping = mock(BrocadeVcsNetworkVlanMappingVO.class);
when(mapping.getVlanId()).thenReturn(14);
when(vcsmapdao.findByNetworkId(anyLong())).thenReturn(mapping);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final DeleteNetworkAnswer answer = mock(DeleteNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
when(vcsdao.remove((long) anyInt())).thenReturn(true);
final boolean result = guru.trash(network, offering);
assertTrue(result == true);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_8
Test Case Name: testTrashFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final BrocadeVcsNetworkVlanMappingVO mapping = mock(BrocadeVcsNetworkVlanMappingVO.class);
when(mapping.getVlanId()).thenReturn(14);
when(vcsmapdao.findByNetworkId(anyLong())).thenReturn(mapping);
@@
Original Test Code (click to expand)
@Test
public void testTrashFail() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsNetworkVlanMappingVO mapping = mock(BrocadeVcsNetworkVlanMappingVO.class);
when(mapping.getVlanId()).thenReturn(14);
when(vcsmapdao.findByNetworkId(anyLong())).thenReturn(mapping);
when(vcsmapdao.remove(anyLong())).thenReturn(true);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final boolean result = guru.trash(network, offering);
assertTrue(result == false);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_9
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(niciraHost.getId()).thenReturn(NETWORK_ID);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final Domain dom = mock(Domain.class);
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_10
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_11
Test Case Name: testImplementURIException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
final Domain dom = mock(Domain.class);
Original Test Code (click to expand)
@Test
public void testImplementURIException() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_12
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID);
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(netdao.findById(NETWORK_ID)).thenReturn(network);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final DeleteLogicalSwitchAnswer answer = mock(DeleteLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(NETWORK_ID);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("lswitch:aaaa"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_13
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
+ netmodel = MockNetworkModel.createMockNetworkModel(42L);
//TODO(VXLAN): doesn't support VNI specified
//when(confsvr.getConfigValue((String) any(), (String) any(), anyLong())).thenReturn("true");
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_14
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
+ netmodel = MockNetworkModel.createMockNetworkModel(42L);
//TODO(VXLAN): doesn't support VNI specified
//when(confsvr.getConfigValue((String) any(), (String) any(), anyLong())).thenReturn("true");
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Test Case ID #cloudstack_Test_6_15
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(dest.getDataCenter()).thenReturn(dc);
- when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
+ netmodel = MockNetworkModel.createMockNetworkModel(42L);
Domain dom = mock(Domain.class);
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vxlan);
when(network.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(network.getPhysicalNetworkId()).thenReturn(42L);
when(netdao.findById(42L)).thenReturn(network);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(42L);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long findPhysicalNetworkIdReturn) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(findPhysicalNetworkIdReturn);
return netmodel;
}
}
Mock Clone Instance #cloudstack_MCI_7
- Scope: class level
- Mocked Class:
com.cloud.network.NetworkModel
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long networkId, Service... services) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.listNetworkOfferingServices(networkId)).thenReturn(Arrays.asList(services));
return netmodel;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_7_1
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
- when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID, Service.Connectivity);
final DeploymentPlan plan = mock(DeploymentPlan.class);
Original Test Code (click to expand)
@Test
public void testDesign() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Vcs);
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long networkId, Service... services) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.listNetworkOfferingServices(networkId)).thenReturn(Arrays.asList(services));
return netmodel;
}
}
Test Case ID #cloudstack_Test_7_2
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: netmodel
Suggested Diff
@@
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
- when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
+ netmodel = MockNetworkModel.createMockNetworkModel(NETWORK_ID, Service.Connectivity);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Lswitch);
@@
Original Test Code (click to expand)
@Test
public void testDesign() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Lswitch);
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(long networkId, Service... services) {
NetworkModel netmodel = mock(NetworkModel.class);
when(netmodel.listNetworkOfferingServices(networkId)).thenReturn(Arrays.asList(services));
return netmodel;
}
}
Mock Clone Instance #cloudstack_MCI_8
- Scope: class level
- Mocked Class:
com.cloud.network.NetworkModel
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network systemNetwork) {
NetworkModel networkModel = Mockito.mock(NetworkModel.class);
Mockito.when(networkModel.getSystemNetworkByZoneAndTrafficType(ArgumentMatchers.anyLong(), ArgumentMatchers.any()))
.thenReturn(systemNetwork);
return networkModel;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_8_1
Test Case Name: executeTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ConfigTungstenFabricServiceCmdTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
Mockito.when(entityManager.findById(ArgumentMatchers.any(), ArgumentMatchers.anyLong())).thenReturn(dataCenter);
Mockito.when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
- Mockito.when(networkModel.getSystemNetworkByZoneAndTrafficType(ArgumentMatchers.anyLong(), ArgumentMatchers.any())).thenReturn(managementNetwork);
+ networkModel = MockNetworkModel.createMockNetworkModel(managementNetwork);
Mockito.when(networkOfferingDao.listSystemNetworkOfferings()).thenReturn(systemNetworkOffering);
PowerMockito.when(Transaction.execute(any(TransactionCallbackNoReturn.class))).thenReturn(transactionCallbackNoReturn);
PowerMockito.whenNew(SuccessResponse.class).withAnyArguments().thenReturn(successResponse);
configTungstenFabricServiceCmd.execute();
Assert.assertEquals(successResponse, configTungstenFabricServiceCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeTest() throws Exception {
SuccessResponse successResponse = Mockito.mock(SuccessResponse.class);
DataCenter dataCenter = Mockito.mock(DataCenter.class);
Network managementNetwork = Mockito.mock(Network.class);
TransactionCallbackNoReturn transactionCallbackNoReturn = Mockito.mock(TransactionCallbackNoReturn.class);
List<NetworkOfferingVO> systemNetworkOffering = Arrays.asList(Mockito.mock(NetworkOfferingVO.class));
mockStatic(Transaction.class);
Mockito.when(entityManager.findById(ArgumentMatchers.any(), ArgumentMatchers.anyLong())).thenReturn(dataCenter);
Mockito.when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
Mockito.when(networkModel.getSystemNetworkByZoneAndTrafficType(ArgumentMatchers.anyLong(), ArgumentMatchers.any())).thenReturn(managementNetwork);
Mockito.when(networkOfferingDao.listSystemNetworkOfferings()).thenReturn(systemNetworkOffering);
PowerMockito.when(Transaction.execute(any(TransactionCallbackNoReturn.class))).thenReturn(transactionCallbackNoReturn);
PowerMockito.whenNew(SuccessResponse.class).withAnyArguments().thenReturn(successResponse);
configTungstenFabricServiceCmd.execute();
Assert.assertEquals(successResponse, configTungstenFabricServiceCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network systemNetwork) {
NetworkModel networkModel = Mockito.mock(NetworkModel.class);
Mockito.when(networkModel.getSystemNetworkByZoneAndTrafficType(ArgumentMatchers.anyLong(), ArgumentMatchers.any()))
.thenReturn(systemNetwork);
return networkModel;
}
}
Test Case ID #cloudstack_Test_8_2
Test Case Name: executeTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\CreateTungstenFabricPublicNetworkCmdTest.java)
Mock Object Variable Name: networkModel
Suggested Diff
@@
@Test
public void executeTest() throws Exception {
SuccessResponse successResponse = Mockito.mock(SuccessResponse.class);
Network publicNetwork = Mockito.mock(Network.class);
SearchCriteria<VlanVO> sc = Mockito.mock(SearchCriteria.class);
List<VlanVO> pubVlanVOList = Arrays.asList(Mockito.mock(VlanVO.class));
- Mockito.when(networkModel.getSystemNetworkByZoneAndTrafficType(ArgumentMatchers.anyLong(), ArgumentMatchers.any())).thenReturn(publicNetwork);
+ networkModel = MockNetworkModel.createMockNetworkModel(publicNetwork);
Mockito.when(vlanDao.createSearchCriteria()).thenReturn(sc);
Mockito.when(vlanDao.listVlansByNetworkId(ArgumentMatchers.anyLong())).thenReturn(pubVlanVOList);
Mockito.when(tungstenService.createPublicNetwork(ArgumentMatchers.anyLong())).thenReturn(true);
Mockito.when(tungstenService.addPublicNetworkSubnet(ArgumentMatchers.any())).thenReturn(true);
PowerMockito.whenNew(SuccessResponse.class).withAnyArguments().thenReturn(successResponse);
createTungstenFabricPublicNetworkCmd.execute();
Assert.assertEquals(successResponse, createTungstenFabricPublicNetworkCmd.getResponseObject());
}
@@
Original Test Code (click to expand)
@Test
public void executeTest() throws Exception {
SuccessResponse successResponse = Mockito.mock(SuccessResponse.class);
Network publicNetwork = Mockito.mock(Network.class);
SearchCriteria<VlanVO> sc = Mockito.mock(SearchCriteria.class);
List<VlanVO> pubVlanVOList = Arrays.asList(Mockito.mock(VlanVO.class));
Mockito.when(networkModel.getSystemNetworkByZoneAndTrafficType(ArgumentMatchers.anyLong(), ArgumentMatchers.any())).thenReturn(publicNetwork);
Mockito.when(vlanDao.createSearchCriteria()).thenReturn(sc);
Mockito.when(vlanDao.listVlansByNetworkId(ArgumentMatchers.anyLong())).thenReturn(pubVlanVOList);
Mockito.when(tungstenService.createPublicNetwork(ArgumentMatchers.anyLong())).thenReturn(true);
Mockito.when(tungstenService.addPublicNetworkSubnet(ArgumentMatchers.any())).thenReturn(true);
PowerMockito.whenNew(SuccessResponse.class).withAnyArguments().thenReturn(successResponse);
createTungstenFabricPublicNetworkCmd.execute();
Assert.assertEquals(successResponse, createTungstenFabricPublicNetworkCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockNetworkModel {
public static NetworkModel createMockNetworkModel(Network systemNetwork) {
NetworkModel networkModel = Mockito.mock(NetworkModel.class);
Mockito.when(networkModel.getSystemNetworkByZoneAndTrafficType(ArgumentMatchers.anyLong(), ArgumentMatchers.any()))
.thenReturn(systemNetwork);
return networkModel;
}
}
Mock Clone Instance #cloudstack_MCI_9
- Scope: method level
- Mocked Class:
com.cloud.template.VirtualMachineTemplate
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static VirtualMachineTemplate createMockVirtualMachineTemplate(UserData.UserDataOverridePolicy overridePolicy) {
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(2L);
when(template.getUserDataOverridePolicy()).thenReturn(overridePolicy);
return template;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_9_1
Test Case Name: testUserDataDenyOverride(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: template
Suggested Diff
@@
Long userDataId = 1L;
- VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
- when(template.getUserDataId()).thenReturn(2L);
- when(template.getUserDataOverridePolicy()).thenReturn(UserData.UserDataOverridePolicy.DENYOVERRIDE);
+ VirtualMachineTemplate template = createMockVirtualMachineTemplate(UserData.UserDataOverridePolicy.DENYOVERRIDE);
userVmManagerImpl.finalizeUserData(null, userDataId, template);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testUserDataDenyOverride() {
Long userDataId = 1L;
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(2L);
when(template.getUserDataOverridePolicy()).thenReturn(UserData.UserDataOverridePolicy.DENYOVERRIDE);
userVmManagerImpl.finalizeUserData(null, userDataId, template);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTemplate createMockVirtualMachineTemplate(UserData.UserDataOverridePolicy overridePolicy) {
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(2L);
when(template.getUserDataOverridePolicy()).thenReturn(overridePolicy);
return template;
}
Test Case ID #cloudstack_Test_9_2
Test Case Name: testUserDataAllowOverride(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: template
Suggested Diff
@@
String templateUserData = "testTemplateUserdata";
Long userDataId = 1L;
- VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
- when(template.getUserDataId()).thenReturn(2L);
- when(template.getUserDataOverridePolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
+ VirtualMachineTemplate template = createMockVirtualMachineTemplate(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
UserDataVO apiUserDataVO = Mockito.mock(UserDataVO.class);
doReturn(apiUserDataVO).when(userDataDao).findById(userDataId);
when(apiUserDataVO.getUserData()).thenReturn(templateUserData);
String finalUserdata = userVmManagerImpl.finalizeUserData(null, userDataId, template);
Assert.assertEquals(finalUserdata, templateUserData);
@@
Original Test Code (click to expand)
@Test
public void testUserDataAllowOverride() {
String templateUserData = "testTemplateUserdata";
Long userDataId = 1L;
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(2L);
when(template.getUserDataOverridePolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
UserDataVO apiUserDataVO = Mockito.mock(UserDataVO.class);
doReturn(apiUserDataVO).when(userDataDao).findById(userDataId);
when(apiUserDataVO.getUserData()).thenReturn(templateUserData);
String finalUserdata = userVmManagerImpl.finalizeUserData(null, userDataId, template);
Assert.assertEquals(finalUserdata, templateUserData);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTemplate createMockVirtualMachineTemplate(UserData.UserDataOverridePolicy overridePolicy) {
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(2L);
when(template.getUserDataOverridePolicy()).thenReturn(overridePolicy);
return template;
}
Test Case ID #cloudstack_Test_9_3
Test Case Name: testUserDataAppend(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: template
Suggested Diff
@@
String userData = "testUserdata";
String templateUserData = "testTemplateUserdata";
Long userDataId = 1L;
- VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
- when(template.getUserDataId()).thenReturn(2L);
- when(template.getUserDataOverridePolicy()).thenReturn(UserData.UserDataOverridePolicy.APPEND);
+ VirtualMachineTemplate template = createMockVirtualMachineTemplate(UserData.UserDataOverridePolicy.APPEND);
UserDataVO templateUserDataVO = Mockito.mock(UserDataVO.class);
doReturn(templateUserDataVO).when(userDataDao).findById(2L);
when(templateUserDataVO.getUserData()).thenReturn(templateUserData);
UserDataVO apiUserDataVO = Mockito.mock(UserDataVO.class);
doReturn(apiUserDataVO).when(userDataDao).findById(userDataId);
when(apiUserDataVO.getUserData()).thenReturn(userData);
String finalUserdata = userVmManagerImpl.finalizeUserData(null, userDataId, template);
Assert.assertEquals(finalUserdata, templateUserData + userData);
@@
Original Test Code (click to expand)
@Test
public void testUserDataAppend() {
String userData = "testUserdata";
String templateUserData = "testTemplateUserdata";
Long userDataId = 1L;
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(2L);
when(template.getUserDataOverridePolicy()).thenReturn(UserData.UserDataOverridePolicy.APPEND);
UserDataVO templateUserDataVO = Mockito.mock(UserDataVO.class);
doReturn(templateUserDataVO).when(userDataDao).findById(2L);
when(templateUserDataVO.getUserData()).thenReturn(templateUserData);
UserDataVO apiUserDataVO = Mockito.mock(UserDataVO.class);
doReturn(apiUserDataVO).when(userDataDao).findById(userDataId);
when(apiUserDataVO.getUserData()).thenReturn(userData);
String finalUserdata = userVmManagerImpl.finalizeUserData(null, userDataId, template);
Assert.assertEquals(finalUserdata, templateUserData + userData);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTemplate createMockVirtualMachineTemplate(UserData.UserDataOverridePolicy overridePolicy) {
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(2L);
when(template.getUserDataOverridePolicy()).thenReturn(overridePolicy);
return template;
}
Test Case ID #cloudstack_Test_9_4
Test Case Name: testUserDataAllowOverrideWithoutAPIuserdata(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: template
Suggested Diff
@@
String templateUserData = "testTemplateUserdata";
- VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
- when(template.getUserDataId()).thenReturn(2L);
- when(template.getUserDataOverridePolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
+ VirtualMachineTemplate template = createMockVirtualMachineTemplate(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
UserDataVO templateUserDataVO = Mockito.mock(UserDataVO.class);
doReturn(templateUserDataVO).when(userDataDao).findById(2L);
when(templateUserDataVO.getUserData()).thenReturn(templateUserData);
String finalUserdata = userVmManagerImpl.finalizeUserData(null, null, template);
Assert.assertEquals(finalUserdata, templateUserData);
@@
Original Test Code (click to expand)
@Test
public void testUserDataAllowOverrideWithoutAPIuserdata() {
String templateUserData = "testTemplateUserdata";
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(2L);
when(template.getUserDataOverridePolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
UserDataVO templateUserDataVO = Mockito.mock(UserDataVO.class);
doReturn(templateUserDataVO).when(userDataDao).findById(2L);
when(templateUserDataVO.getUserData()).thenReturn(templateUserData);
String finalUserdata = userVmManagerImpl.finalizeUserData(null, null, template);
Assert.assertEquals(finalUserdata, templateUserData);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTemplate createMockVirtualMachineTemplate(UserData.UserDataOverridePolicy overridePolicy) {
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(2L);
when(template.getUserDataOverridePolicy()).thenReturn(overridePolicy);
return template;
}
Mock Clone Instance #cloudstack_MCI_10
- Scope: method level
- Mocked Class:
com.cloud.template.VirtualMachineTemplate
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static VirtualMachineTemplate createMockVirtualMachineTemplate() {
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(null);
return template;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_10_1
Test Case Name: testUserDataWithoutTemplate(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: template
Suggested Diff
@@
when(apiUserDataVO.getUserData()).thenReturn(userData);
- VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
- when(template.getUserDataId()).thenReturn(null);
+ VirtualMachineTemplate template = createMockVirtualMachineTemplate();
String finalUserdata = userVmManagerImpl.finalizeUserData(null, userDataId, template);
Assert.assertEquals(finalUserdata, userData);
}
Original Test Code (click to expand)
@Test
public void testUserDataWithoutTemplate() {
String userData = "testUserdata";
Long userDataId = 1L;
UserDataVO apiUserDataVO = Mockito.mock(UserDataVO.class);
doReturn(apiUserDataVO).when(userDataDao).findById(userDataId);
when(apiUserDataVO.getUserData()).thenReturn(userData);
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(null);
String finalUserdata = userVmManagerImpl.finalizeUserData(null, userDataId, template);
Assert.assertEquals(finalUserdata, userData);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTemplate createMockVirtualMachineTemplate() {
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(null);
return template;
}
Test Case ID #cloudstack_Test_10_2
Test Case Name: testUserDataAllowOverrideWithUserdataText(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: template
Suggested Diff
@@
String userData = "testUserdata";
- VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
- when(template.getUserDataId()).thenReturn(null);
+ VirtualMachineTemplate template = createMockVirtualMachineTemplate();
String finalUserdata = userVmManagerImpl.finalizeUserData(userData, null, template);
Assert.assertEquals(finalUserdata, userData);
@@
Original Test Code (click to expand)
@Test
public void testUserDataAllowOverrideWithUserdataText() {
String userData = "testUserdata";
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(null);
String finalUserdata = userVmManagerImpl.finalizeUserData(userData, null, template);
Assert.assertEquals(finalUserdata, userData);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTemplate createMockVirtualMachineTemplate() {
VirtualMachineTemplate template = Mockito.mock(VirtualMachineTemplate.class);
when(template.getUserDataId()).thenReturn(null);
return template;
}
Mock Clone Instance #cloudstack_MCI_11
- Scope: method level
- Mocked Class:
NetworkACLItemVO
- Test Case Count: 4
- MO Count: 11
Reusable Method
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_11_1
Test Case Name: moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: aclRuleBeingMovedMock
Suggested Diff
@@
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
- Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
- Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
+ aclRuleBeingMovedMock = createMockNetworkACLItemVO(50);
+ Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO12 = new NetworkACLItemVO();
@@
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test
public void moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO12 = new NetworkACLItemVO();
networkACLItemVO12.setNumber(12);
NetworkACLItemVO networkACLItemVO13 = new NetworkACLItemVO();
networkACLItemVO13.setNumber(13);
NetworkACLItemVO networkACLItemVO14 = new NetworkACLItemVO();
networkACLItemVO14.setNumber(14);
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(networkACLItemVO12);
allAclRules.add(networkACLItemVO13);
allAclRules.add(networkACLItemVO14);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclItemDaoMock).findById(1l);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.anyInt(), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.anyInt());
networkAclServiceImpl.moveRuleBetweenAclRules(aclRuleBeingMovedMock, allAclRules, previousAclRuleMock, nextAclRuleMock);
Mockito.verify(networkAclItemDaoMock, times(0)).updateNumberFieldNetworkItem(aclRuleBeingMovedMock.getId(), 11);
Mockito.verify(networkAclItemDaoMock, times(0)).findById(1l);
Mockito.verify(networkAclServiceImpl, Mockito.times(1)).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.eq(11), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(1));
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Test Case ID #cloudstack_Test_11_2
Test Case Name: updateAclRuleToNewPositionAndExecuteShiftIfNecessaryTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: nextAclRuleMock
Suggested Diff
@@
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
- Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
- Mockito.when(nextAclRuleMock.getId()).thenReturn(50l);
+ nextAclRuleMock = createMockNetworkACLItemVO(11);
+ Mockito.when(nextAclRuleMock.getId()).thenReturn(50l);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
@@
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test
public void updateAclRuleToNewPositionAndExecuteShiftIfNecessaryTest() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
Mockito.when(nextAclRuleMock.getId()).thenReturn(50l);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO12 = new NetworkACLItemVO();
networkACLItemVO12.setNumber(12);
networkACLItemVO12.id = 12;
NetworkACLItemVO networkACLItemVO13 = new NetworkACLItemVO();
networkACLItemVO13.id = 13;
networkACLItemVO13.setNumber(13);
NetworkACLItemVO networkACLItemVO14 = new NetworkACLItemVO();
networkACLItemVO14.setNumber(14);
networkACLItemVO14.id = 14;
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(networkACLItemVO12);
allAclRules.add(networkACLItemVO13);
allAclRules.add(networkACLItemVO14);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(null).when(networkAclItemDaoMock).findById(Mockito.anyLong());
networkAclServiceImpl.updateAclRuleToNewPositionAndExecuteShiftIfNecessary(aclRuleBeingMovedMock, 11, allAclRules, 1);
Mockito.verify(aclRuleBeingMovedMock).setNumber(11);
Mockito.verify(nextAclRuleMock).setNumber(12);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(1l, 11);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(50l, 12);
Assert.assertEquals(13, networkACLItemVO12.getNumber());
Assert.assertEquals(14, networkACLItemVO13.getNumber());
Assert.assertEquals(15, networkACLItemVO14.getNumber());
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Test Case ID #cloudstack_Test_11_3
Test Case Name: moveRuleBetweenAclRulesTestThereIsNoSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: aclRuleBeingMovedMock
Suggested Diff
@@
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(15);
- Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
+ aclRuleBeingMovedMock = createMockNetworkACLItemVO(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
@@
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test
public void moveRuleBetweenAclRulesTestThereIsNoSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(15);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclItemDaoMock).findById(1l);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.anyInt(), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.anyInt());
networkAclServiceImpl.moveRuleBetweenAclRules(aclRuleBeingMovedMock, allAclRules, previousAclRuleMock, nextAclRuleMock);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(aclRuleBeingMovedMock.getId(), 11);
Mockito.verify(networkAclItemDaoMock).findById(1l);
Mockito.verify(networkAclServiceImpl, Mockito.times(0)).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.anyInt(), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.anyInt());
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Test Case ID #cloudstack_Test_11_4
Test Case Name: updateAclRuleToNewPositionAndExecuteShiftIfNecessaryTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: aclRuleBeingMovedMock
Suggested Diff
@@
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
Mockito.when(nextAclRuleMock.getId()).thenReturn(50l);
- Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
+ aclRuleBeingMovedMock = createMockNetworkACLItemVO(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO12 = new NetworkACLItemVO();
networkACLItemVO12.setNumber(12);
networkACLItemVO12.id = 12;
NetworkACLItemVO networkACLItemVO13 = new NetworkACLItemVO();
networkACLItemVO13.id = 13;
networkACLItemVO13.setNumber(13);
NetworkACLItemVO networkACLItemVO14 = new NetworkACLItemVO();
networkACLItemVO14.setNumber(14);
networkACLItemVO14.id = 14;
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(networkACLItemVO12);
allAclRules.add(networkACLItemVO13);
allAclRules.add(networkACLItemVO14);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(null).when(networkAclItemDaoMock).findById(Mockito.anyLong());
networkAclServiceImpl.updateAclRuleToNewPositionAndExecuteShiftIfNecessary(aclRuleBeingMovedMock, 11, allAclRules, 1);
Mockito.verify(aclRuleBeingMovedMock).setNumber(11);
Mockito.verify(nextAclRuleMock).setNumber(12);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(1l, 11);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(50l, 12);
Assert.assertEquals(13, networkACLItemVO12.getNumber());
Assert.assertEquals(14, networkACLItemVO13.getNumber());
Assert.assertEquals(15, networkACLItemVO14.getNumber());
}
@@
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test
public void updateAclRuleToNewPositionAndExecuteShiftIfNecessaryTest() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
Mockito.when(nextAclRuleMock.getId()).thenReturn(50l);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO12 = new NetworkACLItemVO();
networkACLItemVO12.setNumber(12);
networkACLItemVO12.id = 12;
NetworkACLItemVO networkACLItemVO13 = new NetworkACLItemVO();
networkACLItemVO13.id = 13;
networkACLItemVO13.setNumber(13);
NetworkACLItemVO networkACLItemVO14 = new NetworkACLItemVO();
networkACLItemVO14.setNumber(14);
networkACLItemVO14.id = 14;
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(networkACLItemVO12);
allAclRules.add(networkACLItemVO13);
allAclRules.add(networkACLItemVO14);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(null).when(networkAclItemDaoMock).findById(Mockito.anyLong());
networkAclServiceImpl.updateAclRuleToNewPositionAndExecuteShiftIfNecessary(aclRuleBeingMovedMock, 11, allAclRules, 1);
Mockito.verify(aclRuleBeingMovedMock).setNumber(11);
Mockito.verify(nextAclRuleMock).setNumber(12);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(1l, 11);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(50l, 12);
Assert.assertEquals(13, networkACLItemVO12.getNumber());
Assert.assertEquals(14, networkACLItemVO13.getNumber());
Assert.assertEquals(15, networkACLItemVO14.getNumber());
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Test Case ID #cloudstack_Test_11_5
Test Case Name: moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRuleWithOtherruleColliding(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: previousAclRuleMock
Suggested Diff
@@
@Test(expected = InvalidParameterValueException.class)
public void moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRuleWithOtherruleColliding() {
- Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
+ previousAclRuleMock = createMockNetworkACLItemVO(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(15);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO1 = new NetworkACLItemVO();
networkACLItemVO1.setNumber(11);
allAclRules.add(previousAclRuleMock);
allAclRules.add(networkACLItemVO1);
allAclRules.add(nextAclRuleMock);
networkAclServiceImpl.moveRuleBetweenAclRules(aclRuleBeingMovedMock, allAclRules, previousAclRuleMock, nextAclRuleMock);
}
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRuleWithOtherruleColliding() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(15);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO1 = new NetworkACLItemVO();
networkACLItemVO1.setNumber(11);
allAclRules.add(previousAclRuleMock);
allAclRules.add(networkACLItemVO1);
allAclRules.add(nextAclRuleMock);
networkAclServiceImpl.moveRuleBetweenAclRules(aclRuleBeingMovedMock, allAclRules, previousAclRuleMock, nextAclRuleMock);
}
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Test Case ID #cloudstack_Test_11_6
Test Case Name: moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: previousAclRuleMock
Suggested Diff
@@
@Test
public void moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule() {
- Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
+ previousAclRuleMock = createMockNetworkACLItemVO(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test
public void moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO12 = new NetworkACLItemVO();
networkACLItemVO12.setNumber(12);
NetworkACLItemVO networkACLItemVO13 = new NetworkACLItemVO();
networkACLItemVO13.setNumber(13);
NetworkACLItemVO networkACLItemVO14 = new NetworkACLItemVO();
networkACLItemVO14.setNumber(14);
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(networkACLItemVO12);
allAclRules.add(networkACLItemVO13);
allAclRules.add(networkACLItemVO14);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclItemDaoMock).findById(1l);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.anyInt(), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.anyInt());
networkAclServiceImpl.moveRuleBetweenAclRules(aclRuleBeingMovedMock, allAclRules, previousAclRuleMock, nextAclRuleMock);
Mockito.verify(networkAclItemDaoMock, times(0)).updateNumberFieldNetworkItem(aclRuleBeingMovedMock.getId(), 11);
Mockito.verify(networkAclItemDaoMock, times(0)).findById(1l);
Mockito.verify(networkAclServiceImpl, Mockito.times(1)).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.eq(11), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(1));
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Test Case ID #cloudstack_Test_11_7
Test Case Name: moveRuleBetweenAclRulesTestThereIsNoSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: previousAclRuleMock
Suggested Diff
@@
@Test
public void moveRuleBetweenAclRulesTestThereIsNoSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule() {
- Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
+ previousAclRuleMock = createMockNetworkACLItemVO(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(15);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test
public void moveRuleBetweenAclRulesTestThereIsNoSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(15);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclItemDaoMock).findById(1l);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.anyInt(), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.anyInt());
networkAclServiceImpl.moveRuleBetweenAclRules(aclRuleBeingMovedMock, allAclRules, previousAclRuleMock, nextAclRuleMock);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(aclRuleBeingMovedMock.getId(), 11);
Mockito.verify(networkAclItemDaoMock).findById(1l);
Mockito.verify(networkAclServiceImpl, Mockito.times(0)).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.anyInt(), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.anyInt());
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Test Case ID #cloudstack_Test_11_8
Test Case Name: updateAclRuleToNewPositionAndExecuteShiftIfNecessaryTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: previousAclRuleMock
Suggested Diff
@@
@Test
public void updateAclRuleToNewPositionAndExecuteShiftIfNecessaryTest() {
- Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
+ previousAclRuleMock = createMockNetworkACLItemVO(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
Mockito.when(nextAclRuleMock.getId()).thenReturn(50l);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO12 = new NetworkACLItemVO();
networkACLItemVO12.setNumber(12);
networkACLItemVO12.id = 12;
NetworkACLItemVO networkACLItemVO13 = new NetworkACLItemVO();
networkACLItemVO13.id = 13;
networkACLItemVO13.setNumber(13);
NetworkACLItemVO networkACLItemVO14 = new NetworkACLItemVO();
networkACLItemVO14.setNumber(14);
networkACLItemVO14.id = 14;
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(networkACLItemVO12);
allAclRules.add(networkACLItemVO13);
allAclRules.add(networkACLItemVO14);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(null).when(networkAclItemDaoMock).findById(Mockito.anyLong());
networkAclServiceImpl.updateAclRuleToNewPositionAndExecuteShiftIfNecessary(aclRuleBeingMovedMock, 11, allAclRules, 1);
Mockito.verify(aclRuleBeingMovedMock).setNumber(11);
Mockito.verify(nextAclRuleMock).setNumber(12);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(1l, 11);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(50l, 12);
Assert.assertEquals(13, networkACLItemVO12.getNumber());
Assert.assertEquals(14, networkACLItemVO13.getNumber());
Assert.assertEquals(15, networkACLItemVO14.getNumber());
}
@@
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test
public void updateAclRuleToNewPositionAndExecuteShiftIfNecessaryTest() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
Mockito.when(nextAclRuleMock.getId()).thenReturn(50l);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO12 = new NetworkACLItemVO();
networkACLItemVO12.setNumber(12);
networkACLItemVO12.id = 12;
NetworkACLItemVO networkACLItemVO13 = new NetworkACLItemVO();
networkACLItemVO13.id = 13;
networkACLItemVO13.setNumber(13);
NetworkACLItemVO networkACLItemVO14 = new NetworkACLItemVO();
networkACLItemVO14.setNumber(14);
networkACLItemVO14.id = 14;
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(networkACLItemVO12);
allAclRules.add(networkACLItemVO13);
allAclRules.add(networkACLItemVO14);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(null).when(networkAclItemDaoMock).findById(Mockito.anyLong());
networkAclServiceImpl.updateAclRuleToNewPositionAndExecuteShiftIfNecessary(aclRuleBeingMovedMock, 11, allAclRules, 1);
Mockito.verify(aclRuleBeingMovedMock).setNumber(11);
Mockito.verify(nextAclRuleMock).setNumber(12);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(1l, 11);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(50l, 12);
Assert.assertEquals(13, networkACLItemVO12.getNumber());
Assert.assertEquals(14, networkACLItemVO13.getNumber());
Assert.assertEquals(15, networkACLItemVO14.getNumber());
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Test Case ID #cloudstack_Test_11_9
Test Case Name: moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRuleWithOtherruleColliding(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: nextAclRuleMock
Suggested Diff
@@
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
- Mockito.when(nextAclRuleMock.getNumber()).thenReturn(15);
+ nextAclRuleMock = createMockNetworkACLItemVO(15);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO1 = new NetworkACLItemVO();
networkACLItemVO1.setNumber(11);
allAclRules.add(previousAclRuleMock);
allAclRules.add(networkACLItemVO1);
allAclRules.add(nextAclRuleMock);
networkAclServiceImpl.moveRuleBetweenAclRules(aclRuleBeingMovedMock, allAclRules, previousAclRuleMock, nextAclRuleMock);
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRuleWithOtherruleColliding() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(15);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO1 = new NetworkACLItemVO();
networkACLItemVO1.setNumber(11);
allAclRules.add(previousAclRuleMock);
allAclRules.add(networkACLItemVO1);
allAclRules.add(nextAclRuleMock);
networkAclServiceImpl.moveRuleBetweenAclRules(aclRuleBeingMovedMock, allAclRules, previousAclRuleMock, nextAclRuleMock);
}
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Test Case ID #cloudstack_Test_11_10
Test Case Name: moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: nextAclRuleMock
Suggested Diff
@@
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
- Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
+ nextAclRuleMock = createMockNetworkACLItemVO(11);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
@@
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test
public void moveRuleBetweenAclRulesTestThereIsSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(11);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO12 = new NetworkACLItemVO();
networkACLItemVO12.setNumber(12);
NetworkACLItemVO networkACLItemVO13 = new NetworkACLItemVO();
networkACLItemVO13.setNumber(13);
NetworkACLItemVO networkACLItemVO14 = new NetworkACLItemVO();
networkACLItemVO14.setNumber(14);
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(networkACLItemVO12);
allAclRules.add(networkACLItemVO13);
allAclRules.add(networkACLItemVO14);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclItemDaoMock).findById(1l);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.anyInt(), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.anyInt());
networkAclServiceImpl.moveRuleBetweenAclRules(aclRuleBeingMovedMock, allAclRules, previousAclRuleMock, nextAclRuleMock);
Mockito.verify(networkAclItemDaoMock, times(0)).updateNumberFieldNetworkItem(aclRuleBeingMovedMock.getId(), 11);
Mockito.verify(networkAclItemDaoMock, times(0)).findById(1l);
Mockito.verify(networkAclServiceImpl, Mockito.times(1)).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.eq(11), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(1));
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Test Case ID #cloudstack_Test_11_11
Test Case Name: moveRuleBetweenAclRulesTestThereIsNoSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: nextAclRuleMock
Suggested Diff
@@
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
- Mockito.when(nextAclRuleMock.getNumber()).thenReturn(15);
+ nextAclRuleMock = createMockNetworkACLItemVO(15);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(aclRuleBeingMovedMock);
@@
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test
public void moveRuleBetweenAclRulesTestThereIsNoSpaceBetweenPreviousRuleAndNextRuleToAccomodateTheNewRule() {
Mockito.when(previousAclRuleMock.getNumber()).thenReturn(10);
Mockito.when(nextAclRuleMock.getNumber()).thenReturn(15);
Mockito.when(aclRuleBeingMovedMock.getNumber()).thenReturn(50);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(1l);
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
allAclRules.add(previousAclRuleMock);
allAclRules.add(nextAclRuleMock);
allAclRules.add(aclRuleBeingMovedMock);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclItemDaoMock).findById(1l);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.anyInt(), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.anyInt());
networkAclServiceImpl.moveRuleBetweenAclRules(aclRuleBeingMovedMock, allAclRules, previousAclRuleMock, nextAclRuleMock);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(aclRuleBeingMovedMock.getId(), 11);
Mockito.verify(networkAclItemDaoMock).findById(1l);
Mockito.verify(networkAclServiceImpl, Mockito.times(0)).updateAclRuleToNewPositionAndExecuteShiftIfNecessary(Mockito.any(NetworkACLItemVO.class), Mockito.anyInt(), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.anyInt());
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(int numberReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getNumber()).thenReturn(numberReturn);
return mock;
}
Mock Clone Instance #cloudstack_MCI_12
- Scope: method level
- Mocked Class:
NetworkACLItemVO
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static NetworkACLItemVO createMockNetworkAclItemVo(long id) {
NetworkACLItemVO networkAclItemVoMock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(networkAclItemVoMock.getId()).thenReturn(id);
return networkAclItemVoMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_12_1
Test Case Name: transferDataToNetworkAclRulePojoTestNumberOfAcltoBeUpdatedAlreadyInUse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: networkAclItemVoMock
Suggested Diff
@@
Mockito.when(networkAclMock.getId()).thenReturn(networkAclMockId);
- Mockito.when(networkAclItemVoMock.getId()).thenReturn(100L);
+ networkAclItemVoMock = createMockNetworkAclItemVo(100L);
NetworkACLItemVO otherNetworkAclItemVoMock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(otherNetworkAclItemVoMock.getId()).thenReturn(101L);
Mockito.doReturn(otherNetworkAclItemVoMock).when(networkAclItemDaoMock).findByAclAndNumber(networkAclMockId, aclNumberToUpdate);
networkAclServiceImpl.transferDataToNetworkAclRulePojo(updateNetworkACLItemCmdMock, networkAclItemVoMock, networkAclMock);
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void transferDataToNetworkAclRulePojoTestNumberOfAcltoBeUpdatedAlreadyInUse() {
int aclNumberToUpdate = 1;
Mockito.when(updateNetworkACLItemCmdMock.getNumber()).thenReturn(aclNumberToUpdate);
Mockito.when(networkAclMock.getId()).thenReturn(networkAclMockId);
Mockito.when(networkAclItemVoMock.getId()).thenReturn(100L);
NetworkACLItemVO otherNetworkAclItemVoMock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(otherNetworkAclItemVoMock.getId()).thenReturn(101L);
Mockito.doReturn(otherNetworkAclItemVoMock).when(networkAclItemDaoMock).findByAclAndNumber(networkAclMockId, aclNumberToUpdate);
networkAclServiceImpl.transferDataToNetworkAclRulePojo(updateNetworkACLItemCmdMock, networkAclItemVoMock, networkAclMock);
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkAclItemVo(long id) {
NetworkACLItemVO networkAclItemVoMock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(networkAclItemVoMock.getId()).thenReturn(id);
return networkAclItemVoMock;
}
Test Case ID #cloudstack_Test_12_2
Test Case Name: moveRuleToTheBottomTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: aclRuleBeingMovedMock
Suggested Diff
@@
allAclRules.add(networkACLItemVO1);
- Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(99l);
+ aclRuleBeingMovedMock = createMockNetworkAclItemVo(99l);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclItemDaoMock).findById(99l);
networkAclServiceImpl.moveRuleToTheBottom(aclRuleBeingMovedMock, allAclRules);
Mockito.verify(aclRuleBeingMovedMock).setNumber(101);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(99l, 101);
Mockito.verify(networkAclItemDaoMock).findById(99l);
@@
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test
public void moveRuleToTheBottomTest() {
ArrayList<NetworkACLItemVO> allAclRules = new ArrayList<>();
NetworkACLItemVO networkACLItemVO1 = new NetworkACLItemVO();
networkACLItemVO1.setNumber(100);
allAclRules.add(networkACLItemVO1);
Mockito.when(aclRuleBeingMovedMock.getId()).thenReturn(99l);
Mockito.doNothing().when(networkAclItemDaoMock).updateNumberFieldNetworkItem(Mockito.anyLong(), Mockito.anyInt());
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclItemDaoMock).findById(99l);
networkAclServiceImpl.moveRuleToTheBottom(aclRuleBeingMovedMock, allAclRules);
Mockito.verify(aclRuleBeingMovedMock).setNumber(101);
Mockito.verify(networkAclItemDaoMock).updateNumberFieldNetworkItem(99l, 101);
Mockito.verify(networkAclItemDaoMock).findById(99l);
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkAclItemVo(long id) {
NetworkACLItemVO networkAclItemVoMock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(networkAclItemVoMock.getId()).thenReturn(id);
return networkAclItemVoMock;
}
Mock Clone Instance #cloudstack_MCI_13
- Scope: method level
- Mocked Class:
NetworkACLItemVO
- Test Case Count: 3
- MO Count: 4
Reusable Method
private static NetworkACLItemVO createMockNetworkACLItemVO(Long aclId) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getAclId()).thenReturn(aclId);
return mock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_13_1
Test Case Name: validateMoveAclRulesDataTestSuccesfullExecution(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: previousAclRuleMock
Suggested Diff
@@
Mockito.when(nextAclRuleMock.getAclId()).thenReturn(networkAclMockId);
- Mockito.when(previousAclRuleMock.getAclId()).thenReturn(networkAclMockId);
+ previousAclRuleMock = createMockNetworkACLItemVO(networkAclMockId);
Mockito.doReturn(networkAclMock).when(networkAclDaoMock).findById(networkAclMockId);
Original Test Code (click to expand)
@Test
public void validateMoveAclRulesDataTestSuccesfullExecution() {
Mockito.when(nextAclRuleMock.getAclId()).thenReturn(networkAclMockId);
Mockito.when(previousAclRuleMock.getAclId()).thenReturn(networkAclMockId);
Mockito.doReturn(networkAclMock).when(networkAclDaoMock).findById(networkAclMockId);
Mockito.doReturn(Mockito.mock(Vpc.class)).when(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.doNothing().when(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
networkAclServiceImpl.validateMoveAclRulesData(aclRuleBeingMovedMock, previousAclRuleMock, nextAclRuleMock);
Mockito.verify(networkAclDaoMock).findById(networkAclMockId);
Mockito.verify(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
Mockito.verify(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
}
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(Long aclId) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getAclId()).thenReturn(aclId);
return mock;
}
Test Case ID #cloudstack_Test_13_2
Test Case Name: updateNetworkACLItemTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: networkAclItemVoMock
Suggested Diff
@@
@Test
public void updateNetworkACLItemTest() throws ResourceUnavailableException {
- Mockito.when(networkAclItemVoMock.getAclId()).thenReturn(networkAclMockId);
+ networkAclItemVoMock = createMockNetworkACLItemVO(networkAclMockId);
Mockito.doReturn(networkAclItemVoMock).when(networkAclServiceImpl).validateNetworkAclRuleIdAndRetrieveIt(updateNetworkACLItemCmdMock);
Mockito.doReturn(networkAclMock).when(networkAclManagerMock).getNetworkACL(networkAclMockId);
Mockito.doNothing().when(networkAclServiceImpl).validateNetworkAcl(Mockito.eq(networkAclMock));
Mockito.doNothing().when(networkAclServiceImpl).transferDataToNetworkAclRulePojo(Mockito.eq(updateNetworkACLItemCmdMock), Mockito.eq(networkAclItemVoMock), Mockito.eq(networkAclMock));
Mockito.doNothing().when(networkAclServiceImpl).validateNetworkACLItem(networkAclItemVoMock);
Mockito.doReturn(networkAclItemVoMock).when(networkAclManagerMock).updateNetworkACLItem(networkAclItemVoMock);
networkAclServiceImpl.updateNetworkACLItem(updateNetworkACLItemCmdMock);
InOrder inOrder = Mockito.inOrder(networkAclServiceImpl, networkAclManagerMock);
inOrder.verify(networkAclServiceImpl).validateNetworkAclRuleIdAndRetrieveIt(updateNetworkACLItemCmdMock);
inOrder.verify(networkAclManagerMock).getNetworkACL(networkAclMockId);
inOrder.verify(networkAclServiceImpl).validateNetworkAcl(networkAclMock);
inOrder.verify(networkAclServiceImpl).transferDataToNetworkAclRulePojo(Mockito.eq(updateNetworkACLItemCmdMock), Mockito.eq(networkAclItemVoMock), Mockito.eq(networkAclMock));
inOrder.verify(networkAclServiceImpl).validateNetworkACLItem(networkAclItemVoMock);
inOrder.verify(networkAclManagerMock).updateNetworkACLItem(networkAclItemVoMock);
}
@@
Original Test Code (click to expand)
@Test
public void updateNetworkACLItemTest() throws ResourceUnavailableException {
Mockito.when(networkAclItemVoMock.getAclId()).thenReturn(networkAclMockId);
Mockito.doReturn(networkAclItemVoMock).when(networkAclServiceImpl).validateNetworkAclRuleIdAndRetrieveIt(updateNetworkACLItemCmdMock);
Mockito.doReturn(networkAclMock).when(networkAclManagerMock).getNetworkACL(networkAclMockId);
Mockito.doNothing().when(networkAclServiceImpl).validateNetworkAcl(Mockito.eq(networkAclMock));
Mockito.doNothing().when(networkAclServiceImpl).transferDataToNetworkAclRulePojo(Mockito.eq(updateNetworkACLItemCmdMock), Mockito.eq(networkAclItemVoMock), Mockito.eq(networkAclMock));
Mockito.doNothing().when(networkAclServiceImpl).validateNetworkACLItem(networkAclItemVoMock);
Mockito.doReturn(networkAclItemVoMock).when(networkAclManagerMock).updateNetworkACLItem(networkAclItemVoMock);
networkAclServiceImpl.updateNetworkACLItem(updateNetworkACLItemCmdMock);
InOrder inOrder = Mockito.inOrder(networkAclServiceImpl, networkAclManagerMock);
inOrder.verify(networkAclServiceImpl).validateNetworkAclRuleIdAndRetrieveIt(updateNetworkACLItemCmdMock);
inOrder.verify(networkAclManagerMock).getNetworkACL(networkAclMockId);
inOrder.verify(networkAclServiceImpl).validateNetworkAcl(networkAclMock);
inOrder.verify(networkAclServiceImpl).transferDataToNetworkAclRulePojo(Mockito.eq(updateNetworkACLItemCmdMock), Mockito.eq(networkAclItemVoMock), Mockito.eq(networkAclMock));
inOrder.verify(networkAclServiceImpl).validateNetworkACLItem(networkAclItemVoMock);
inOrder.verify(networkAclManagerMock).updateNetworkACLItem(networkAclItemVoMock);
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(Long aclId) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getAclId()).thenReturn(aclId);
return mock;
}
Test Case ID #cloudstack_Test_13_3
Test Case Name: validateMoveAclRulesDataTestSuccesfullExecution(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: nextAclRuleMock
Suggested Diff
@@
@Test
public void validateMoveAclRulesDataTestSuccesfullExecution() {
- Mockito.when(nextAclRuleMock.getAclId()).thenReturn(networkAclMockId);
+ nextAclRuleMock = createMockNetworkACLItemVO(networkAclMockId);
Mockito.when(previousAclRuleMock.getAclId()).thenReturn(networkAclMockId);
Mockito.doReturn(networkAclMock).when(networkAclDaoMock).findById(networkAclMockId);
Mockito.doReturn(Mockito.mock(Vpc.class)).when(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.doNothing().when(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
networkAclServiceImpl.validateMoveAclRulesData(aclRuleBeingMovedMock, previousAclRuleMock, nextAclRuleMock);
Mockito.verify(networkAclDaoMock).findById(networkAclMockId);
Mockito.verify(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
Mockito.verify(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
}
@@
Original Test Code (click to expand)
@Test
public void validateMoveAclRulesDataTestSuccesfullExecution() {
Mockito.when(nextAclRuleMock.getAclId()).thenReturn(networkAclMockId);
Mockito.when(previousAclRuleMock.getAclId()).thenReturn(networkAclMockId);
Mockito.doReturn(networkAclMock).when(networkAclDaoMock).findById(networkAclMockId);
Mockito.doReturn(Mockito.mock(Vpc.class)).when(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.doNothing().when(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
networkAclServiceImpl.validateMoveAclRulesData(aclRuleBeingMovedMock, previousAclRuleMock, nextAclRuleMock);
Mockito.verify(networkAclDaoMock).findById(networkAclMockId);
Mockito.verify(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
Mockito.verify(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
}
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(Long aclId) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getAclId()).thenReturn(aclId);
return mock;
}
Test Case ID #cloudstack_Test_13_4
Test Case Name: befoteTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: aclRuleBeingMovedMock
Suggested Diff
@@
Mockito.when(moveNetworkAclItemCmdMock.getUuidRuleBeingMoved()).thenReturn(uuidAclRuleBeingMoved);
- Mockito.when(aclRuleBeingMovedMock.getUuid()).thenReturn(uuidAclRuleBeingMoved);
- Mockito.when(aclRuleBeingMovedMock.getAclId()).thenReturn(networkAclMockId);
+ aclRuleBeingMovedMock = createMockNetworkACLItemVO(networkAclMockId);
+ Mockito.when(aclRuleBeingMovedMock.getUuid()).thenReturn(uuidAclRuleBeingMoved);
Mockito.when(previousAclRuleMock.getUuid()).thenReturn(previousAclRuleUuid);
Mockito.when(nextAclRuleMock.getUuid()).thenReturn(nextAclRuleUuid);
Mockito.when(networkAclMock.getVpcId()).thenReturn(networkMockVpcMockId);
@@
Original Test Code (click to expand)
@Before
public void befoteTest() {
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.doReturn(Mockito.mock(User.class)).when(callContextMock).getCallingUser();
Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
Mockito.when(networkAclDaoMock.findById(networkAclListId)).thenReturn(networkACLVOMock);
Mockito.when(createNetworkAclCmdMock.getNetworkId()).thenReturn(1L);
Mockito.when(createNetworkAclCmdMock.getProtocol()).thenReturn("tcp");
Mockito.when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingMockId);
Mockito.when(networkMock.getVpcId()).thenReturn(networkMockVpcMockId);
Mockito.when(moveNetworkAclItemCmdMock.getUuidRuleBeingMoved()).thenReturn(uuidAclRuleBeingMoved);
Mockito.when(aclRuleBeingMovedMock.getUuid()).thenReturn(uuidAclRuleBeingMoved);
Mockito.when(aclRuleBeingMovedMock.getAclId()).thenReturn(networkAclMockId);
Mockito.when(previousAclRuleMock.getUuid()).thenReturn(previousAclRuleUuid);
Mockito.when(nextAclRuleMock.getUuid()).thenReturn(nextAclRuleUuid);
Mockito.when(networkAclMock.getVpcId()).thenReturn(networkMockVpcMockId);
}
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(Long aclId) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getAclId()).thenReturn(aclId);
return mock;
}
Mock Clone Instance #cloudstack_MCI_14
- Scope: method level
- Mocked Class:
NetworkACLItemVO
- Test Case Count: 1
- MO Count: 2
Reusable Method
private static NetworkACLItemVO createMockNetworkACLItemVO(String uuidReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getUuid()).thenReturn(uuidReturn);
return mock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_14_1
Test Case Name: befoteTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: previousAclRuleMock
Suggested Diff
@@
Mockito.when(aclRuleBeingMovedMock.getAclId()).thenReturn(networkAclMockId);
- Mockito.when(previousAclRuleMock.getUuid()).thenReturn(previousAclRuleUuid);
Mockito.when(nextAclRuleMock.getUuid()).thenReturn(nextAclRuleUuid);
Mockito.when(networkAclMock.getVpcId()).thenReturn(networkMockVpcMockId);
@@
+ previousAclRuleMock = createMockNetworkACLItemVO(previousAclRuleUuid);
Original Test Code (click to expand)
@Before
public void befoteTest() {
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.doReturn(Mockito.mock(User.class)).when(callContextMock).getCallingUser();
Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
Mockito.when(networkAclDaoMock.findById(networkAclListId)).thenReturn(networkACLVOMock);
Mockito.when(createNetworkAclCmdMock.getNetworkId()).thenReturn(1L);
Mockito.when(createNetworkAclCmdMock.getProtocol()).thenReturn("tcp");
Mockito.when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingMockId);
Mockito.when(networkMock.getVpcId()).thenReturn(networkMockVpcMockId);
Mockito.when(moveNetworkAclItemCmdMock.getUuidRuleBeingMoved()).thenReturn(uuidAclRuleBeingMoved);
Mockito.when(aclRuleBeingMovedMock.getUuid()).thenReturn(uuidAclRuleBeingMoved);
Mockito.when(aclRuleBeingMovedMock.getAclId()).thenReturn(networkAclMockId);
Mockito.when(previousAclRuleMock.getUuid()).thenReturn(previousAclRuleUuid);
Mockito.when(nextAclRuleMock.getUuid()).thenReturn(nextAclRuleUuid);
Mockito.when(networkAclMock.getVpcId()).thenReturn(networkMockVpcMockId);
}
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(String uuidReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getUuid()).thenReturn(uuidReturn);
return mock;
}
Test Case ID #cloudstack_Test_14_2
Test Case Name: befoteTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: nextAclRuleMock
Suggested Diff
@@
Mockito.when(previousAclRuleMock.getUuid()).thenReturn(previousAclRuleUuid);
- Mockito.when(nextAclRuleMock.getUuid()).thenReturn(nextAclRuleUuid);
+ nextAclRuleMock = createMockNetworkACLItemVO(nextAclRuleUuid);
Mockito.when(networkAclMock.getVpcId()).thenReturn(networkMockVpcMockId);
@@
Original Test Code (click to expand)
@Before
public void befoteTest() {
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.doReturn(Mockito.mock(User.class)).when(callContextMock).getCallingUser();
Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
Mockito.when(networkAclDaoMock.findById(networkAclListId)).thenReturn(networkACLVOMock);
Mockito.when(createNetworkAclCmdMock.getNetworkId()).thenReturn(1L);
Mockito.when(createNetworkAclCmdMock.getProtocol()).thenReturn("tcp");
Mockito.when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingMockId);
Mockito.when(networkMock.getVpcId()).thenReturn(networkMockVpcMockId);
Mockito.when(moveNetworkAclItemCmdMock.getUuidRuleBeingMoved()).thenReturn(uuidAclRuleBeingMoved);
Mockito.when(aclRuleBeingMovedMock.getUuid()).thenReturn(uuidAclRuleBeingMoved);
Mockito.when(aclRuleBeingMovedMock.getAclId()).thenReturn(networkAclMockId);
Mockito.when(previousAclRuleMock.getUuid()).thenReturn(previousAclRuleUuid);
Mockito.when(nextAclRuleMock.getUuid()).thenReturn(nextAclRuleUuid);
Mockito.when(networkAclMock.getVpcId()).thenReturn(networkMockVpcMockId);
}
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(String uuidReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getUuid()).thenReturn(uuidReturn);
return mock;
}
Mock Clone Instance #cloudstack_MCI_15
- Scope: method level
- Mocked Class:
NetworkACLItemVO
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static NetworkACLItemVO createMockNetworkACLItemVO(long aclIdReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getAclId()).thenReturn(aclIdReturn);
return mock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_15_1
Test Case Name: validateMoveAclRulesDataTestPreviousRuleWithDifferentAclId(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: previousAclRuleMock
Suggested Diff
@@
@Test(expected = InvalidParameterValueException.class)
public void validateMoveAclRulesDataTestPreviousRuleWithDifferentAclId() {
- Mockito.when(previousAclRuleMock.getAclId()).thenReturn(99L);
+ previousAclRuleMock = createMockNetworkACLItemVO(99L);
networkAclServiceImpl.validateMoveAclRulesData(aclRuleBeingMovedMock, previousAclRuleMock, null);
}
@@
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test(expected = InvalidParameterValueException.class)
public void validateMoveAclRulesDataTestPreviousRuleWithDifferentAclId() {
Mockito.when(previousAclRuleMock.getAclId()).thenReturn(99L);
networkAclServiceImpl.validateMoveAclRulesData(aclRuleBeingMovedMock, previousAclRuleMock, null);
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(long aclIdReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getAclId()).thenReturn(aclIdReturn);
return mock;
}
Test Case ID #cloudstack_Test_15_2
Test Case Name: validateMoveAclRulesDataTestNextRuleWithDifferentAclId(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: nextAclRuleMock
Suggested Diff
@@
@Test(expected = InvalidParameterValueException.class)
public void validateMoveAclRulesDataTestNextRuleWithDifferentAclId() {
- Mockito.when(nextAclRuleMock.getAclId()).thenReturn(99L);
+ nextAclRuleMock = createMockNetworkACLItemVO(99L);
networkAclServiceImpl.validateMoveAclRulesData(aclRuleBeingMovedMock, null, nextAclRuleMock);
}
@@
Original Test Code (click to expand)
private void configureMoveMethodsToDoNothing() {
Mockito.doReturn(networkACLVOMock).when(networkAclDaoMock).acquireInLockTable(Mockito.anyLong());
Mockito.doReturn(true).when(networkAclDaoMock).releaseFromLockTable(Mockito.anyLong());
Mockito.doNothing().when(networkAclServiceImpl).validateAclConsistency(Mockito.any(MoveNetworkAclItemCmd.class), Mockito.any(NetworkACLVO.class), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(new ArrayList<>()).when(networkAclServiceImpl).getAllAclRulesSortedByNumber(networkAclMockId);
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheTop(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleToTheBottom(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class));
Mockito.doReturn(aclRuleBeingMovedMock).when(networkAclServiceImpl).moveRuleBetweenAclRules(Mockito.eq(aclRuleBeingMovedMock), Mockito.anyListOf(NetworkACLItemVO.class), Mockito.eq(previousAclRuleMock), Mockito.eq(nextAclRuleMock));
}
@Test(expected = InvalidParameterValueException.class)
public void validateMoveAclRulesDataTestNextRuleWithDifferentAclId() {
Mockito.when(nextAclRuleMock.getAclId()).thenReturn(99L);
networkAclServiceImpl.validateMoveAclRulesData(aclRuleBeingMovedMock, null, nextAclRuleMock);
}
Reusable Method for MCI (click to expand)
private static NetworkACLItemVO createMockNetworkACLItemVO(long aclIdReturn) {
NetworkACLItemVO mock = Mockito.mock(NetworkACLItemVO.class);
Mockito.when(mock.getAclId()).thenReturn(aclIdReturn);
return mock;
}
Mock Clone Instance #cloudstack_MCI_16
- Scope: method level
- Mocked Class:
List<SnapshotVO>
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static List<SnapshotVO> createMockSnapshotVOList(int sizeReturn) {
List<SnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(sizeReturn);
return mockList;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_16_1
Test Case Name: testAllocSnapshotF2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\storage\snapshot\SnapshotManagerTest.java)
Mock Object Variable Name: mockList
Suggested Diff
@@
when(vmMock.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(volumeInfoMock.getInstanceId()).thenReturn(TEST_VM_ID);
- List<SnapshotVO> mockList = mock(List.class);
- when(mockList.size()).thenReturn(1);
+ List<SnapshotVO> mockList = createMockSnapshotVOList(1);
when(_snapshotDao.listByInstanceId(TEST_VM_ID, Snapshot.State.Creating, Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
_snapshotMgr.allocSnapshot(TEST_VOLUME_ID, Snapshot.MANUAL_POLICY_ID, null, null);
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test(expected = InvalidParameterValueException.class)
public void testAllocSnapshotF2() throws ResourceAllocationException {
when(_vmDao.findById(anyLong())).thenReturn(vmMock);
when(vmMock.getId()).thenReturn(TEST_VM_ID);
when(vmMock.getState()).thenReturn(State.Stopped);
when(vmMock.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(volumeInfoMock.getInstanceId()).thenReturn(TEST_VM_ID);
List<SnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(1);
when(_snapshotDao.listByInstanceId(TEST_VM_ID, Snapshot.State.Creating, Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
_snapshotMgr.allocSnapshot(TEST_VOLUME_ID, Snapshot.MANUAL_POLICY_ID, null, null);
}
Reusable Method for MCI (click to expand)
private static List<SnapshotVO> createMockSnapshotVOList(int sizeReturn) {
List<SnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(sizeReturn);
return mockList;
}
Test Case ID #cloudstack_Test_16_2
Test Case Name: testAllocSnapshotF3(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\storage\snapshot\SnapshotManagerTest.java)
Mock Object Variable Name: mockList
Suggested Diff
@@
when(vmMock.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(volumeInfoMock.getInstanceId()).thenReturn(TEST_VM_ID);
- List<SnapshotVO> mockList = mock(List.class);
- when(mockList.size()).thenReturn(0);
+ List<SnapshotVO> mockList = createMockSnapshotVOList(0);
when(_snapshotDao.listByInstanceId(TEST_VM_ID, Snapshot.State.Creating, Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
List<VMSnapshotVO> mockList2 = mock(List.class);
when(mockList2.size()).thenReturn(1);
when(_vmSnapshotDao.listByInstanceId(TEST_VM_ID, VMSnapshot.State.Creating, VMSnapshot.State.Reverting, VMSnapshot.State.Expunging)).thenReturn(mockList2);
_snapshotMgr.allocSnapshot(TEST_VOLUME_ID, Snapshot.MANUAL_POLICY_ID, null, null);
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test(expected = CloudRuntimeException.class)
public void testAllocSnapshotF3() throws ResourceAllocationException {
when(_vmDao.findById(anyLong())).thenReturn(vmMock);
when(vmMock.getId()).thenReturn(TEST_VM_ID);
when(vmMock.getState()).thenReturn(State.Stopped);
when(vmMock.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(volumeInfoMock.getInstanceId()).thenReturn(TEST_VM_ID);
List<SnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(0);
when(_snapshotDao.listByInstanceId(TEST_VM_ID, Snapshot.State.Creating, Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
List<VMSnapshotVO> mockList2 = mock(List.class);
when(mockList2.size()).thenReturn(1);
when(_vmSnapshotDao.listByInstanceId(TEST_VM_ID, VMSnapshot.State.Creating, VMSnapshot.State.Reverting, VMSnapshot.State.Expunging)).thenReturn(mockList2);
_snapshotMgr.allocSnapshot(TEST_VOLUME_ID, Snapshot.MANUAL_POLICY_ID, null, null);
}
Reusable Method for MCI (click to expand)
private static List<SnapshotVO> createMockSnapshotVOList(int sizeReturn) {
List<SnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(sizeReturn);
return mockList;
}
Test Case ID #cloudstack_Test_16_3
Test Case Name: testAllocSnapshotF4(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\storage\snapshot\SnapshotManagerTest.java)
Mock Object Variable Name: mockList
Suggested Diff
@@
when(vmMock.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(volumeInfoMock.getInstanceId()).thenReturn(TEST_VM_ID);
- List<SnapshotVO> mockList = mock(List.class);
- when(mockList.size()).thenReturn(0);
+ List<SnapshotVO> mockList = createMockSnapshotVOList(0);
when(_snapshotDao.listByInstanceId(TEST_VM_ID, Snapshot.State.Creating, Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
List<VMSnapshotVO> mockList2 = mock(List.class);
when(mockList2.size()).thenReturn(0);
when(_vmSnapshotDao.listByInstanceId(TEST_VM_ID, VMSnapshot.State.Creating, VMSnapshot.State.Reverting, VMSnapshot.State.Expunging)).thenReturn(mockList2);
when(_snapshotDao.persist(any(SnapshotVO.class))).thenReturn(snapshotMock);
_snapshotMgr.allocSnapshot(TEST_VOLUME_ID, Snapshot.MANUAL_POLICY_ID, null, null);
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testAllocSnapshotF4() throws ResourceAllocationException {
when(_vmDao.findById(anyLong())).thenReturn(vmMock);
when(vmMock.getId()).thenReturn(TEST_VM_ID);
when(vmMock.getState()).thenReturn(State.Stopped);
when(vmMock.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(volumeInfoMock.getInstanceId()).thenReturn(TEST_VM_ID);
List<SnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(0);
when(_snapshotDao.listByInstanceId(TEST_VM_ID, Snapshot.State.Creating, Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
List<VMSnapshotVO> mockList2 = mock(List.class);
when(mockList2.size()).thenReturn(0);
when(_vmSnapshotDao.listByInstanceId(TEST_VM_ID, VMSnapshot.State.Creating, VMSnapshot.State.Reverting, VMSnapshot.State.Expunging)).thenReturn(mockList2);
when(_snapshotDao.persist(any(SnapshotVO.class))).thenReturn(snapshotMock);
_snapshotMgr.allocSnapshot(TEST_VOLUME_ID, Snapshot.MANUAL_POLICY_ID, null, null);
}
Reusable Method for MCI (click to expand)
private static List<SnapshotVO> createMockSnapshotVOList(int sizeReturn) {
List<SnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(sizeReturn);
return mockList;
}
Mock Clone Instance #cloudstack_MCI_17
- Scope: class level
- Mocked Class:
VMInstanceDao
- Test Case Count: 6
- MO Count: 6
Reusable Method
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(Map<Long, VMInstanceVO> idToVmMap) {
VMInstanceDao vmInstanceDao = Mockito.mock(VMInstanceDao.class);
for (Map.Entry<Long, VMInstanceVO> entry : idToVmMap.entrySet()) {
when(vmInstanceDao.findById(entry.getKey())).thenReturn(entry.getValue());
}
return vmInstanceDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_17_1
Test Case Name: testProcessWithEmptyPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
VMInstanceVO vm2 = new VMInstanceVO();
- when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
+ Map<Long, VMInstanceVO> idToVmMap = new HashMap<>();
+ idToVmMap.put(vm2Id, vm2);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(idToVmMap);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithEmptyPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(Map<Long, VMInstanceVO> idToVmMap) {
VMInstanceDao vmInstanceDao = Mockito.mock(VMInstanceDao.class);
for (Map.Entry<Long, VMInstanceVO> entry : idToVmMap.entrySet()) {
when(vmInstanceDao.findById(entry.getKey())).thenReturn(entry.getValue());
}
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_17_2
Test Case Name: testProcessWithPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
VMInstanceVO vm2 = new VMInstanceVO();
- when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
- when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
+ Map<Long, VMInstanceVO> idToVmMap = new HashMap<>();
+ idToVmMap.put(vm2Id, vm2);
+ idToVmMap.put(vm3Id, vm3);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(idToVmMap);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
@@
Original Test Code (click to expand)
@Test
public void testProcessWithPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.LOWER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(Map<Long, VMInstanceVO> idToVmMap) {
VMInstanceDao vmInstanceDao = Mockito.mock(VMInstanceDao.class);
for (Map.Entry<Long, VMInstanceVO> entry : idToVmMap.entrySet()) {
when(vmInstanceDao.findById(entry.getKey())).thenReturn(entry.getValue());
}
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_17_3
Test Case Name: testProcessWithNotRunningVM(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
- when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
+ Map<Long, VMInstanceVO> idToVmMap = new HashMap<>();
+ idToVmMap.put(vm2Id, vm2);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(idToVmMap);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithNotRunningVM() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(Map<Long, VMInstanceVO> idToVmMap) {
VMInstanceDao vmInstanceDao = Mockito.mock(VMInstanceDao.class);
for (Map.Entry<Long, VMInstanceVO> entry : idToVmMap.entrySet()) {
when(vmInstanceDao.findById(entry.getKey())).thenReturn(entry.getValue());
}
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_17_4
Test Case Name: testProcessWithEmptyPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
- when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
+ Map<Long, VMInstanceVO> idToVmMap = new HashMap<>();
+ idToVmMap.put(vm2Id, vm2);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(idToVmMap);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithEmptyPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(Map<Long, VMInstanceVO> idToVmMap) {
VMInstanceDao vmInstanceDao = Mockito.mock(VMInstanceDao.class);
for (Map.Entry<Long, VMInstanceVO> entry : idToVmMap.entrySet()) {
when(vmInstanceDao.findById(entry.getKey())).thenReturn(entry.getValue());
}
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_17_5
Test Case Name: testProcessWithPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
VMInstanceVO vm2 = new VMInstanceVO();
- when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
- when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
+ Map<Long, VMInstanceVO> idToVmMap = new HashMap<>();
+ idToVmMap.put(vm2Id, vm2);
+ idToVmMap.put(vm3Id, vm3);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(idToVmMap);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.HIGHER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(Map<Long, VMInstanceVO> idToVmMap) {
VMInstanceDao vmInstanceDao = Mockito.mock(VMInstanceDao.class);
for (Map.Entry<Long, VMInstanceVO> entry : idToVmMap.entrySet()) {
when(vmInstanceDao.findById(entry.getKey())).thenReturn(entry.getValue());
}
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_17_6
Test Case Name: testProcessWithNotRunningVM(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
- when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
+ Map<Long, VMInstanceVO> idToVmMap = new HashMap<>();
+ idToVmMap.put(vm2Id, vm2);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(idToVmMap);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
@@
Original Test Code (click to expand)
@Test
public void testProcessWithNotRunningVM() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(Map<Long, VMInstanceVO> idToVmMap) {
VMInstanceDao vmInstanceDao = Mockito.mock(VMInstanceDao.class);
for (Map.Entry<Long, VMInstanceVO> entry : idToVmMap.entrySet()) {
when(vmInstanceDao.findById(entry.getKey())).thenReturn(entry.getValue());
}
return vmInstanceDao;
}
}
Mock Clone Instance #cloudstack_MCI_18
- Scope: class level
- Mocked Class:
VMInstanceDao
- Test Case Count: 10
- MO Count: 10
Reusable Method
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_18_1
Test Case Name: preparePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
- when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
Original Test Code (click to expand)
@Test
public void preparePublicNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_18_2
Test Case Name: prepareManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
- when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
Original Test Code (click to expand)
@Test
public void prepareManagementNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_18_3
Test Case Name: prepareWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
- when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void prepareWithExceptionTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_18_4
Test Case Name: releasePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
- when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
Original Test Code (click to expand)
@Test
public void releasePublicNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_18_5
Test Case Name: releaseManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
- when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Original Test Code (click to expand)
@Test
public void releaseManagementNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_18_6
Test Case Name: releaseWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
- when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void releaseWithExceptionTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_18_7
Test Case Name: prepareMigrationTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
- when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
Original Test Code (click to expand)
@Test
public void prepareMigrationTest() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
DeployDestination dest = mock(DeployDestination.class);
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_18_8
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
- when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
guru.reserve(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
guru.reserve(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_18_9
Test Case Name: testRelease(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
final HostVO host = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(hostDao.findById(anyLong())).thenReturn(host);
when(ipAddressDao.findByAssociatedVmId(anyLong())).thenReturn(ipAddressVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
- when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(vmInstanceVO);
guru.release(nic, vm, "test");
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testRelease() {
final NicProfile nic = mock(NicProfile.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(hostDao.findById(anyLong())).thenReturn(host);
when(ipAddressDao.findByAssociatedVmId(anyLong())).thenReturn(ipAddressVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
guru.release(nic, vm, "test");
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
Test Case ID #cloudstack_Test_18_10
Test Case Name: testPrepareMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: vmInstanceDao
Suggested Diff
@@
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
- when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
+ vmInstanceDao = MockVMInstanceDao.createMockVMInstanceDao(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testPrepareMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVMInstanceDao {
public static VMInstanceDao createMockVMInstanceDao(VMInstanceVO vmInstanceVO) {
VMInstanceDao vmInstanceDao = mock(VMInstanceDao.class);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
return vmInstanceDao;
}
}
Mock Clone Instance #cloudstack_MCI_19
- Scope: method level
- Mocked Class:
com.cloud.network.rules.PortForwardingRule
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static PortForwardingRule createMockPortForwardingRule(FirewallRule.State state) {
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
when(portForwardingRule.getState()).thenReturn(state);
return portForwardingRule;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_19_1
Test Case Name: applyPFRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: portForwardingRule
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
- PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
- when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
+ PortForwardingRule portForwardingRule = createMockPortForwardingRule(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
@@
Original Test Code (click to expand)
@Test
public void applyPFRulesAddRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private static PortForwardingRule createMockPortForwardingRule(FirewallRule.State state) {
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
when(portForwardingRule.getState()).thenReturn(state);
return portForwardingRule;
}
Test Case ID #cloudstack_Test_19_2
Test Case Name: applyPFRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: portForwardingRule
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
- PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
+ PortForwardingRule portForwardingRule = createMockPortForwardingRule(FirewallRule.State.Add);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
- when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
@@
Original Test Code (click to expand)
@Test
public void applyPFRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private static PortForwardingRule createMockPortForwardingRule(FirewallRule.State state) {
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
when(portForwardingRule.getState()).thenReturn(state);
return portForwardingRule;
}
Test Case ID #cloudstack_Test_19_3
Test Case Name: applyPFRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: portForwardingRule
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
- PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
+ PortForwardingRule portForwardingRule = createMockPortForwardingRule(FirewallRule.State.Revoke);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
- when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
@@
Original Test Code (click to expand)
@Test
public void applyPFRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private static PortForwardingRule createMockPortForwardingRule(FirewallRule.State state) {
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
when(portForwardingRule.getState()).thenReturn(state);
return portForwardingRule;
}
Test Case ID #cloudstack_Test_19_4
Test Case Name: applyPFRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: portForwardingRule
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
- PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
+ PortForwardingRule portForwardingRule = createMockPortForwardingRule(FirewallRule.State.Revoke);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
- when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
@@
Original Test Code (click to expand)
@Test
public void applyPFRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private static PortForwardingRule createMockPortForwardingRule(FirewallRule.State state) {
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
when(portForwardingRule.getState()).thenReturn(state);
return portForwardingRule;
}
Mock Clone Instance #cloudstack_MCI_20
- Scope: method level
- Mocked Class:
List<VMSnapshotVO>
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static List<VMSnapshotVO> createMockVMSnapshotVOList(int sizeReturn) {
List<VMSnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(sizeReturn);
return mockList;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_20_1
Test Case Name: testAllocSnapshotF3(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\storage\snapshot\SnapshotManagerTest.java)
Mock Object Variable Name: mockList2
Suggested Diff
@@
when(_snapshotDao.listByInstanceId(TEST_VM_ID, Snapshot.State.Creating, Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
- List<VMSnapshotVO> mockList2 = mock(List.class);
- when(mockList2.size()).thenReturn(1);
+ List<VMSnapshotVO> mockList2 = createMockVMSnapshotVOList(1);
when(_vmSnapshotDao.listByInstanceId(TEST_VM_ID, VMSnapshot.State.Creating, VMSnapshot.State.Reverting, VMSnapshot.State.Expunging)).thenReturn(mockList2);
_snapshotMgr.allocSnapshot(TEST_VOLUME_ID, Snapshot.MANUAL_POLICY_ID, null, null);
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test(expected = CloudRuntimeException.class)
public void testAllocSnapshotF3() throws ResourceAllocationException {
when(_vmDao.findById(anyLong())).thenReturn(vmMock);
when(vmMock.getId()).thenReturn(TEST_VM_ID);
when(vmMock.getState()).thenReturn(State.Stopped);
when(vmMock.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(volumeInfoMock.getInstanceId()).thenReturn(TEST_VM_ID);
List<SnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(0);
when(_snapshotDao.listByInstanceId(TEST_VM_ID, Snapshot.State.Creating, Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
List<VMSnapshotVO> mockList2 = mock(List.class);
when(mockList2.size()).thenReturn(1);
when(_vmSnapshotDao.listByInstanceId(TEST_VM_ID, VMSnapshot.State.Creating, VMSnapshot.State.Reverting, VMSnapshot.State.Expunging)).thenReturn(mockList2);
_snapshotMgr.allocSnapshot(TEST_VOLUME_ID, Snapshot.MANUAL_POLICY_ID, null, null);
}
Reusable Method for MCI (click to expand)
private static List<VMSnapshotVO> createMockVMSnapshotVOList(int sizeReturn) {
List<VMSnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(sizeReturn);
return mockList;
}
Test Case ID #cloudstack_Test_20_2
Test Case Name: testAllocSnapshotF4(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\storage\snapshot\SnapshotManagerTest.java)
Mock Object Variable Name: mockList2
Suggested Diff
@@
when(_snapshotDao.listByInstanceId(TEST_VM_ID, Snapshot.State.Creating, Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
- List<VMSnapshotVO> mockList2 = mock(List.class);
- when(mockList2.size()).thenReturn(0);
+ List<VMSnapshotVO> mockList2 = createMockVMSnapshotVOList(0);
when(_vmSnapshotDao.listByInstanceId(TEST_VM_ID, VMSnapshot.State.Creating, VMSnapshot.State.Reverting, VMSnapshot.State.Expunging)).thenReturn(mockList2);
when(_snapshotDao.persist(any(SnapshotVO.class))).thenReturn(snapshotMock);
_snapshotMgr.allocSnapshot(TEST_VOLUME_ID, Snapshot.MANUAL_POLICY_ID, null, null);
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testAllocSnapshotF4() throws ResourceAllocationException {
when(_vmDao.findById(anyLong())).thenReturn(vmMock);
when(vmMock.getId()).thenReturn(TEST_VM_ID);
when(vmMock.getState()).thenReturn(State.Stopped);
when(vmMock.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(volumeInfoMock.getInstanceId()).thenReturn(TEST_VM_ID);
List<SnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(0);
when(_snapshotDao.listByInstanceId(TEST_VM_ID, Snapshot.State.Creating, Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
List<VMSnapshotVO> mockList2 = mock(List.class);
when(mockList2.size()).thenReturn(0);
when(_vmSnapshotDao.listByInstanceId(TEST_VM_ID, VMSnapshot.State.Creating, VMSnapshot.State.Reverting, VMSnapshot.State.Expunging)).thenReturn(mockList2);
when(_snapshotDao.persist(any(SnapshotVO.class))).thenReturn(snapshotMock);
_snapshotMgr.allocSnapshot(TEST_VOLUME_ID, Snapshot.MANUAL_POLICY_ID, null, null);
}
Reusable Method for MCI (click to expand)
private static List<VMSnapshotVO> createMockVMSnapshotVOList(int sizeReturn) {
List<VMSnapshotVO> mockList = mock(List.class);
when(mockList.size()).thenReturn(sizeReturn);
return mockList;
}
Mock Clone Instance #cloudstack_MCI_21
- Scope: class level
- Mocked Class:
com.cloud.vm.ReservationContext
- Test Case Count: 5
- MO Count: 5
Reusable Method
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Account account, Domain domain) {
ReservationContext context = mock(ReservationContext.class);
when(context.getAccount()).thenReturn(account);
when(context.getDomain()).thenReturn(domain);
return context;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_21_1
Test Case Name: implementTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
when(acc.getAccountName()).thenReturn("a1");
- ReservationContext context = mock(ReservationContext.class);
- when(context.getDomain()).thenReturn(dom);
- when(context.getAccount()).thenReturn(acc);
+ ReservationContext context = MockReservationContext.createMockReservationContext(acc, dom);
DataCenter dc = mock(DataCenter.class);
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
@@
Original Test Code (click to expand)
@Test
public void implementTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getGateway()).thenReturn("1.1.1.1");
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(1L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
DeployDestination dest = mock(DeployDestination.class);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("d1");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("a1");
ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
DataCenter dc = mock(DataCenter.class);
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_entityMgr.findById(DataCenter.class, network.getDataCenterId())).thenReturn(dc);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
CiscoAsa1000vDeviceVO asaVO = mock(CiscoAsa1000vDeviceVO.class);
when(asaVO.getInPortProfile()).thenReturn("foo");
when(asaVO.getManagementIp()).thenReturn("1.2.3.4");
List<CiscoAsa1000vDeviceVO> asaList = new ArrayList<CiscoAsa1000vDeviceVO>();
asaList.add(asaVO);
when(_ciscoAsa1000vDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(asaList);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkAsa1000vMapDao.findByAsa1000vId(anyLong())).thenReturn(null);
when(_networkAsa1000vMapDao.persist(any(NetworkAsa1000vMapVO.class))).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, Provider.CiscoVnmc)).thenReturn(true);
ClusterVSMMapVO clusterVsmMap = mock(ClusterVSMMapVO.class);
when(_clusterVsmMapDao.findByClusterId(anyLong())).thenReturn(clusterVsmMap);
CiscoNexusVSMDeviceVO vsmDevice = mock(CiscoNexusVSMDeviceVO.class);
when(vsmDevice.getUserName()).thenReturn("foo");
when(vsmDevice.getPassword()).thenReturn("bar");
when(vsmDevice.getipaddr()).thenReturn("1.2.3.4");
when(_vsmDeviceDao.findById(anyLong())).thenReturn(vsmDevice);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
PublicIp publicIp = mock(PublicIp.class);
when(publicIp.getAddress()).thenReturn(ip);
when(publicIp.getState()).thenReturn(IpAddress.State.Releasing);
when(publicIp.getAccountId()).thenReturn(1L);
when(publicIp.isSourceNat()).thenReturn(true);
when(publicIp.getVlanTag()).thenReturn("123");
when(publicIp.getGateway()).thenReturn("1.1.1.1");
when(publicIp.getNetmask()).thenReturn("1.1.1.1");
when(publicIp.getMacAddress()).thenReturn(null);
when(publicIp.isOneToOneNat()).thenReturn(true);
when(_ipAddrMgr.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(publicIp);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanGateway()).thenReturn("1.1.1.1");
List<VlanVO> vlanVOList = new ArrayList<VlanVO>();
when(_vlanDao.listVlansByPhysicalNetworkId(network.getPhysicalNetworkId())).thenReturn(vlanVOList);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CreateLogicalEdgeFirewallCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(ConfigureNexusVsmForAsaCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(SetSourceNatCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(AssociateAsaWithLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Account account, Domain domain) {
ReservationContext context = mock(ReservationContext.class);
when(context.getAccount()).thenReturn(account);
when(context.getDomain()).thenReturn(domain);
return context;
}
}
Test Case ID #cloudstack_Test_21_2
Test Case Name: implementIsolatedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext context = mock(ReservationContext.class);
- when(context.getDomain()).thenReturn(dom);
- when(context.getAccount()).thenReturn(acc);
+ final ReservationContext context = MockReservationContext.createMockReservationContext(acc, dom);
//ISOLATED NETWORK
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
@@
Original Test Code (click to expand)
@Test
public void implementIsolatedNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException, URISyntaxException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Isolated);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("10.0.0.0");
when(sourceNatIp.getAddress()).thenReturn(ip);
when(sourceNatIp.getVlanNetmask()).thenReturn("255.255.255.0");
when(sourceNatIp.getVlanTag()).thenReturn("111");
when(ipAddressManager.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(sourceNatIp);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
final CreateLogicalRouterAnswer answer = mock(CreateLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Account account, Domain domain) {
ReservationContext context = mock(ReservationContext.class);
when(context.getAccount()).thenReturn(account);
when(context.getDomain()).thenReturn(domain);
return context;
}
}
Test Case ID #cloudstack_Test_21_3
Test Case Name: implementSharedNetworkUuidVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext context = mock(ReservationContext.class);
- when(context.getDomain()).thenReturn(dom);
- when(context.getAccount()).thenReturn(acc);
+ final ReservationContext context = MockReservationContext.createMockReservationContext(acc, dom);
//SHARED NETWORKS CASE 1
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(true);
@@
Original Test Code (click to expand)
@Test
public void implementSharedNetworkUuidVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(true);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
NiciraNvpRouterMappingVO mapping = mock(NiciraNvpRouterMappingVO.class);
when(mapping.getLogicalRouterUuid()).thenReturn("xxxx-xxxx-xxxx");
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(mapping);
final ConfigureSharedNetworkUuidAnswer answer = mock(ConfigureSharedNetworkUuidAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Account account, Domain domain) {
ReservationContext context = mock(ReservationContext.class);
when(context.getAccount()).thenReturn(account);
when(context.getDomain()).thenReturn(domain);
return context;
}
}
Test Case ID #cloudstack_Test_21_4
Test Case Name: implementSharedNetworkNumericalVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext context = mock(ReservationContext.class);
- when(context.getDomain()).thenReturn(dom);
- when(context.getAccount()).thenReturn(acc);
+ final ReservationContext context = MockReservationContext.createMockReservationContext(acc, dom);
//SHARED NETWORKS CASE 2
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
@@
Original Test Code (click to expand)
@Test
public void implementSharedNetworkNumericalVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn("bbbb-bbbb-bbbb");
final ConfigureSharedNetworkVlanIdAnswer answer = mock(ConfigureSharedNetworkVlanIdAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Account account, Domain domain) {
ReservationContext context = mock(ReservationContext.class);
when(context.getAccount()).thenReturn(account);
when(context.getDomain()).thenReturn(domain);
return context;
}
}
Test Case ID #cloudstack_Test_21_5
Test Case Name: implementSharedNetworkNumericalVlanIdWithoutL2GatewayService(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext context = mock(ReservationContext.class);
- when(context.getDomain()).thenReturn(dom);
- when(context.getAccount()).thenReturn(acc);
+ final ReservationContext context = MockReservationContext.createMockReservationContext(acc, dom);
//SHARED NETWORKS CASE 2
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void implementSharedNetworkNumericalVlanIdWithoutL2GatewayService() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn(null);
element.implement(network, offering, dest, context);
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Account account, Domain domain) {
ReservationContext context = mock(ReservationContext.class);
when(context.getAccount()).thenReturn(account);
when(context.getDomain()).thenReturn(domain);
return context;
}
}
Mock Clone Instance #cloudstack_MCI_22
- Scope: class level
- Mocked Class:
com.cloud.vm.ReservationContext
- Test Case Count: 7
- MO Count: 11
Reusable Method
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_22_1
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ final ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Test Case ID #cloudstack_Test_22_2
Test Case Name: testImplementFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ final ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
@@
Original Test Code (click to expand)
@Test
public void testImplementFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Test Case ID #cloudstack_Test_22_3
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ final ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
@@
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Test Case ID #cloudstack_Test_22_4
Test Case Name: testReserveFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ final ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
@@
Original Test Code (click to expand)
@Test
public void testReserveFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Test Case ID #cloudstack_Test_22_5
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ final ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Test Case ID #cloudstack_Test_22_6
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ final ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Test Case ID #cloudstack_Test_22_7
Test Case Name: testImplementURIException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ final ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
//when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
@@
Original Test Code (click to expand)
@Test
public void testImplementURIException() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Test Case ID #cloudstack_Test_22_8
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- final ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ final ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
final DeleteLogicalSwitchAnswer answer = mock(DeleteLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
@@
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(netdao.findById(NETWORK_ID)).thenReturn(network);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final DeleteLogicalSwitchAnswer answer = mock(DeleteLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(NETWORK_ID);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("lswitch:aaaa"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Test Case ID #cloudstack_Test_22_9
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
}
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Test Case ID #cloudstack_Test_22_10
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
when(acc.getAccountName()).thenReturn("accountname");
- ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
}
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Test Case ID #cloudstack_Test_22_11
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: res
Suggested Diff
@@
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
- ReservationContext res = mock(ReservationContext.class);
- when(res.getDomain()).thenReturn(dom);
- when(res.getAccount()).thenReturn(acc);
+ ReservationContext res = MockReservationContext.createMockReservationContext(dom, acc);
NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(42L);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
@@
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vxlan);
when(network.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(network.getPhysicalNetworkId()).thenReturn(42L);
when(netdao.findById(42L)).thenReturn(network);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(42L);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockReservationContext {
public static ReservationContext createMockReservationContext(Domain domain, Account account) {
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(domain);
when(res.getAccount()).thenReturn(account);
return res;
}
}
Mock Clone Instance #cloudstack_MCI_23
- Scope: method level
- Mocked Class:
com.cloud.vm.ReservationContext
- Test Case Count: 3
- MO Count: 3
Reusable Method
private ReservationContext context;
@BeforeEach
public void setUp() {
context = mock(ReservationContext.class);
}
context;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_23_1
Test Case Name: testFinalizeStartWhenCmdsAnswerIsNull(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\elastic-loadbalancer\src\test\java\com\cloud\network\lb\ElasticLoadBalancerManagerImplTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
when(cmds.getAnswer("checkSsh")).thenReturn(null);
- ReservationContext context = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `context`
boolean expected = false;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
Original Test Code (click to expand)
@Test
public void testFinalizeStartWhenCmdsAnswerIsNull() throws Exception {
VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(null);
ReservationContext context = mock(ReservationContext.class);
boolean expected = false;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Reusable Method for MCI (click to expand)
private ReservationContext context;
@BeforeEach
public void setUp() {
context = mock(ReservationContext.class);
}
context;
Test Case ID #cloudstack_Test_23_2
Test Case Name: testFinalizeStartWhenCmdsAnswerIsNotNullButAnswerResultIsFalse(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\elastic-loadbalancer\src\test\java\com\cloud\network\lb\ElasticLoadBalancerManagerImplTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
- ReservationContext context = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `context`
boolean expected = false;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
Original Test Code (click to expand)
@Test
public void testFinalizeStartWhenCmdsAnswerIsNotNullButAnswerResultIsFalse() throws Exception {
CheckSshAnswer answerMock = mock(CheckSshAnswer.class);
when(answerMock.getResult()).thenReturn(false);
VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
ReservationContext context = mock(ReservationContext.class);
boolean expected = false;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Reusable Method for MCI (click to expand)
private ReservationContext context;
@BeforeEach
public void setUp() {
context = mock(ReservationContext.class);
}
context;
Test Case ID #cloudstack_Test_23_3
Test Case Name: testFinalizeStartWhenCmdsAnswerIsNotNullAndAnswerResultIsTrue(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\elastic-loadbalancer\src\test\java\com\cloud\network\lb\ElasticLoadBalancerManagerImplTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
- ReservationContext context = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `context`
boolean expected = true;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
Original Test Code (click to expand)
@Test
public void testFinalizeStartWhenCmdsAnswerIsNotNullAndAnswerResultIsTrue() throws Exception {
CheckSshAnswer answerMock = mock(CheckSshAnswer.class);
when(answerMock.getResult()).thenReturn(true);
VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
ReservationContext context = mock(ReservationContext.class);
boolean expected = true;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Reusable Method for MCI (click to expand)
private ReservationContext context;
@BeforeEach
public void setUp() {
context = mock(ReservationContext.class);
}
context;
Mock Clone Instance #cloudstack_MCI_24
- Scope: method level
- Mocked Class:
com.cloud.vm.ReservationContext
- Test Case Count: 11
- MO Count: 11
Reusable Method
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_24_1
Test Case Name: preparePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
DeployDestination deployDestination = mock(DeployDestination.class);
- ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
@@
Original Test Code (click to expand)
@Test
public void preparePublicNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Test Case ID #cloudstack_Test_24_2
Test Case Name: prepareManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
@Test
public void prepareManagementNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
- ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Original Test Code (click to expand)
@Test
public void prepareManagementNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Test Case ID #cloudstack_Test_24_3
Test Case Name: prepareWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
DeployDestination deployDestination = mock(DeployDestination.class);
- ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
@@
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
}
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void prepareWithExceptionTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Test Case ID #cloudstack_Test_24_4
Test Case Name: releasePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
- ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
@@
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Original Test Code (click to expand)
@Test
public void releasePublicNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Test Case ID #cloudstack_Test_24_5
Test Case Name: releaseManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
@Test
public void releaseManagementNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
- ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Original Test Code (click to expand)
@Test
public void releaseManagementNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Test Case ID #cloudstack_Test_24_6
Test Case Name: releaseWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
@Test(expected = CloudRuntimeException.class)
public void releaseWithExceptionTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
- ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
}
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void releaseWithExceptionTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Test Case ID #cloudstack_Test_24_7
Test Case Name: destroyTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
@Test
public void destroyTest() throws ConcurrentOperationException, ResourceUnavailableException {
IPAddressVO ipAddressVO1 = mock(IPAddressVO.class);
IPAddressVO ipAddressVO2 = mock(IPAddressVO.class);
Network network = mock(Network.class);
- ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
List<IPAddressVO> ipAddressVOList = Arrays.asList(ipAddressVO1, ipAddressVO2);
TungstenAnswer tungstenDeleteFIPAnswer = mock(TungstenAnswer.class);
TungstenAnswer tungstenDeleteNPAnswer = mock(TungstenAnswer.class);
when(ipAddressDao.listByAssociatedNetwork(anyLong(), anyBoolean())).thenReturn(ipAddressVOList);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpCommand.class), anyLong())).thenReturn(tungstenDeleteFIPAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(tungstenDeleteNPAnswer);
when(tungstenDeleteFIPAnswer.getResult()).thenReturn(true);
when(tungstenDeleteNPAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.destroy(network, reservationContext));
}
Original Test Code (click to expand)
@Test
public void destroyTest() throws ConcurrentOperationException, ResourceUnavailableException {
IPAddressVO ipAddressVO1 = mock(IPAddressVO.class);
IPAddressVO ipAddressVO2 = mock(IPAddressVO.class);
Network network = mock(Network.class);
ReservationContext reservationContext = mock(ReservationContext.class);
List<IPAddressVO> ipAddressVOList = Arrays.asList(ipAddressVO1, ipAddressVO2);
TungstenAnswer tungstenDeleteFIPAnswer = mock(TungstenAnswer.class);
TungstenAnswer tungstenDeleteNPAnswer = mock(TungstenAnswer.class);
when(ipAddressDao.listByAssociatedNetwork(anyLong(), anyBoolean())).thenReturn(ipAddressVOList);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpCommand.class), anyLong())).thenReturn(tungstenDeleteFIPAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(tungstenDeleteNPAnswer);
when(tungstenDeleteFIPAnswer.getResult()).thenReturn(true);
when(tungstenDeleteNPAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.destroy(network, reservationContext));
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Test Case ID #cloudstack_Test_24_8
Test Case Name: shutdownProviderInstancesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
@Test
public void shutdownProviderInstancesTest() throws ConcurrentOperationException {
PhysicalNetworkServiceProvider physicalNetworkServiceProvider = mock(PhysicalNetworkServiceProvider.class);
- ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
PhysicalNetworkVO physicalNetworkVO = mock(PhysicalNetworkVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
Network publicNetwork = mock(Network.class);
VlanVO vlanVO1 = mock(VlanVO.class);
VlanVO vlanVO2 = mock(VlanVO.class);
List<VlanVO> vlanVOList = Arrays.asList(vlanVO1, vlanVO2);
HostPodVO hostPodVO1 = mock(HostPodVO.class);
HostPodVO hostPodVO2 = mock(HostPodVO.class);
List<HostPodVO> hostPodVOList = Arrays.asList(hostPodVO1, hostPodVO2);
when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(vlanDao.listVlansByNetworkIdIncludingRemoved(anyLong())).thenReturn(vlanVOList);
when(hostPodDao.listByDataCenterId(anyLong())).thenReturn(hostPodVOList);
assertTrue(tungstenElement.shutdownProviderInstances(physicalNetworkServiceProvider, reservationContext));
verify(networkServiceMapDao, times(1)).deleteByNetworkId(anyLong());
verify(tungstenService, times(2)).removePublicNetworkSubnet(any(VlanVO.class));
verify(tungstenService, times(1)).deletePublicNetwork(anyLong());
verify(tungstenService, times(2)).removeManagementNetworkSubnet(any(HostPodVO.class));
verify(tungstenService, times(1)).deleteManagementNetwork(anyLong());
}
Original Test Code (click to expand)
@Test
public void shutdownProviderInstancesTest() throws ConcurrentOperationException {
PhysicalNetworkServiceProvider physicalNetworkServiceProvider = mock(PhysicalNetworkServiceProvider.class);
ReservationContext reservationContext = mock(ReservationContext.class);
PhysicalNetworkVO physicalNetworkVO = mock(PhysicalNetworkVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
Network publicNetwork = mock(Network.class);
VlanVO vlanVO1 = mock(VlanVO.class);
VlanVO vlanVO2 = mock(VlanVO.class);
List<VlanVO> vlanVOList = Arrays.asList(vlanVO1, vlanVO2);
HostPodVO hostPodVO1 = mock(HostPodVO.class);
HostPodVO hostPodVO2 = mock(HostPodVO.class);
List<HostPodVO> hostPodVOList = Arrays.asList(hostPodVO1, hostPodVO2);
when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(vlanDao.listVlansByNetworkIdIncludingRemoved(anyLong())).thenReturn(vlanVOList);
when(hostPodDao.listByDataCenterId(anyLong())).thenReturn(hostPodVOList);
assertTrue(tungstenElement.shutdownProviderInstances(physicalNetworkServiceProvider, reservationContext));
verify(networkServiceMapDao, times(1)).deleteByNetworkId(anyLong());
verify(tungstenService, times(2)).removePublicNetworkSubnet(any(VlanVO.class));
verify(tungstenService, times(1)).deletePublicNetwork(anyLong());
verify(tungstenService, times(2)).removeManagementNetworkSubnet(any(HostPodVO.class));
verify(tungstenService, times(1)).deleteManagementNetwork(anyLong());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Test Case ID #cloudstack_Test_24_9
Test Case Name: prepareMigrationTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
@Test
public void prepareMigrationTest() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
DeployDestination dest = mock(DeployDestination.class);
- ReservationContext context = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
- assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
+ assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, reservationContext));
}
Original Test Code (click to expand)
@Test
public void prepareMigrationTest() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
DeployDestination dest = mock(DeployDestination.class);
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Test Case ID #cloudstack_Test_24_10
Test Case Name: rollbackMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: src
Suggested Diff
@@
@Test
public void rollbackMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
- ReservationContext src = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- tungstenElement.rollbackMigration(nic, network, vm, src, dest);
+ tungstenElement.rollbackMigration(nic, network, vm, reservationContext, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void rollbackMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.rollbackMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Test Case ID #cloudstack_Test_24_11
Test Case Name: commitMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: src
Suggested Diff
@@
@Test
public void commitMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
- ReservationContext src = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- tungstenElement.commitMigration(nic, network, vm, src, dest);
+ tungstenElement.commitMigration(nic, network, vm, reservationContext, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void commitMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.commitMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext;
Mock Clone Instance #cloudstack_MCI_25
- Scope: method level
- Mocked Class:
com.cloud.vm.ReservationContext
- Test Case Count: 7
- MO Count: 7
Reusable Method
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext
The refactoring details in each test cases
Test Case ID #cloudstack_Test_25_1
Test Case Name: testImplementGuestNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
@Test
public void testImplementGuestNetwork() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
- final ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
Original Test Code (click to expand)
@Test
public void testImplementGuestNetwork() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getNetworkOfferingId()).thenReturn(1L);
when(network.getState()).thenReturn(Network.State.Implementing);
when(network.getDataCenterId()).thenReturn(2L);
when(network.getPhysicalNetworkId()).thenReturn(3L);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(network)).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new LogicalRouter(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, "192.168.1.100"));
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenService.allocateDnsIpAddress(any(Network.class), any(), anyString())).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), implemented.getBroadcastUri());
assertEquals("192.168.1.1", implemented.getGateway());
assertEquals("192.168.1.0/24", implemented.getCidr());
assertEquals(Networks.Mode.Dhcp, implemented.getMode());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, implemented.getBroadcastDomainType());
assertEquals(1L, implemented.getNetworkOfferingId());
assertEquals(Network.State.Implemented, implemented.getState());
assertEquals(2L, implemented.getDataCenterId());
assertEquals(3L, implemented.getPhysicalNetworkId().longValue());
assertFalse(implemented.isRedundant());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(SetTungstenNetworkGatewayCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext
Test Case ID #cloudstack_Test_25_2
Test Case Name: testImplementSharedNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
@Test
public void testImplementSharedNetwork() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
- final ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
Original Test Code (click to expand)
@Test
public void testImplementSharedNetwork() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getNetworkOfferingId()).thenReturn(1L);
when(network.getState()).thenReturn(Network.State.Implementing);
when(network.getDataCenterId()).thenReturn(2L);
when(network.getPhysicalNetworkId()).thenReturn(3L);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Shared);
when(vlanDao.listVlansByNetworkId(anyLong())).thenReturn(List.of(new VlanVO()));
when(tungstenService.createSharedNetwork(any(Network.class), any(VlanVO.class))).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), implemented.getBroadcastUri());
assertEquals("192.168.1.1", implemented.getGateway());
assertEquals("192.168.1.0/24", implemented.getCidr());
assertEquals(Networks.Mode.Dhcp, implemented.getMode());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, implemented.getBroadcastDomainType());
assertEquals(1L, implemented.getNetworkOfferingId());
assertEquals(Network.State.Implemented, implemented.getState());
assertEquals(2L, implemented.getDataCenterId());
assertEquals(3L, implemented.getPhysicalNetworkId().longValue());
assertFalse(implemented.isRedundant());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext
Test Case ID #cloudstack_Test_25_3
Test Case Name: testImplementWithException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: reservationContext
Suggested Diff
@@
@Test(expected = CloudRuntimeException.class)
public void testImplementWithException() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
- final ReservationContext reservationContext = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getState()).thenReturn(Network.State.Implementing);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(any(Network.class))).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new IOException()));
guru.implement(network, offering, deployDestination, reservationContext);
}
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testImplementWithException() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getState()).thenReturn(Network.State.Implementing);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(any(Network.class))).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new IOException()));
guru.implement(network, offering, deployDestination, reservationContext);
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext
Test Case ID #cloudstack_Test_25_4
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
- final ReservationContext context = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
- guru.reserve(nic, network, vm, dest, context);
+ guru.reserve(nic, network, vm, dest, reservationContext);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
guru.reserve(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext
Test Case ID #cloudstack_Test_25_5
Test Case Name: testPrepareMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
final DeployDestination dest = mock(DeployDestination.class);
- final ReservationContext context = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
@@
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
- guru.prepareMigration(nic, network, vm, dest, context);
+ guru.prepareMigration(nic, network, vm, dest, reservationContext);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
Original Test Code (click to expand)
@Test
public void testPrepareMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext
Test Case ID #cloudstack_Test_25_6
Test Case Name: testRollbackMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
@Test
public void testRollbackMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
- final ReservationContext context = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- guru.rollbackMigration(nic, network, vmProfile, context, context);
+ guru.rollbackMigration(nic, network, vmProfile, reservationContext, reservationContext);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testRollbackMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.rollbackMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext
Test Case ID #cloudstack_Test_25_7
Test Case Name: testCommitMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: context
Suggested Diff
@@
@Test
public void testCommitMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
- final ReservationContext context = mock(ReservationContext.class);
+ // removed local mock; replaced with global field `reservationContext`
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- guru.commitMigration(nic, network, vmProfile, context, context);
+ guru.commitMigration(nic, network, vmProfile, reservationContext, reservationContext);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testCommitMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.commitMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private ReservationContext reservationContext;
@BeforeEach
public void setUp() {
reservationContext = mock(ReservationContext.class);
}
reservationContext
Mock Clone Instance #cloudstack_MCI_26
- Scope: method level
- Mocked Class:
StoragePoolVO
- Test Case Count: 2
- MO Count: 3
Reusable Method
private static StoragePoolVO createMockStoragePoolVO(Storage.StoragePoolType poolTypeReturn, boolean isManagedReturn) {
StoragePoolVO storagePoolVO = mock(StoragePoolVO.class);
when(storagePoolVO.getPoolType()).thenReturn(poolTypeReturn);
when(storagePoolVO.isManaged()).thenReturn(isManagedReturn);
return storagePoolVO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_26_1
Test Case Name: testVerifyLiveMigrationMapForKVMMixedManagedUnmagedStorage(File: C:\Java_projects\Apache\cloudstack\engine\storage\datamotion\src\test\java\org\apache\cloudstack\storage\motion\KvmNonManagedStorageSystemDataMotionTest.java)
Mock Object Variable Name: pool1
Suggested Diff
@@
when(primaryDataStoreDao.findById(POOL_1_ID)).thenReturn(pool1);
- when(pool1.isManaged()).thenReturn(false);
when(dataStore2.getId()).thenReturn(POOL_2_ID);
@@
when(pool1.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
@@
when(pool2.getScope()).thenReturn(ScopeType.CLUSTER);
@@
@Test(expected = CloudRuntimeException.class)
public void testVerifyLiveMigrationMapForKVMMixedManagedUnmagedStorage() {
- when(pool1.isManaged()).thenReturn(true);
- when(pool1.getId()).thenReturn(POOL_1_ID);
+ pool1 = createMockStoragePoolVO(Storage.StoragePoolType.NetworkFilesystem, true);
+ when(pool1.getId()).thenReturn(POOL_1_ID);
when(pool2.getId()).thenReturn(POOL_2_ID);
lenient().when(pool2.isManaged()).thenReturn(false);
kvmNonManagedStorageDataMotionStrategy.verifyLiveMigrationForKVM(migrationMap, host2);
}
Original Test Code (click to expand)
@Before
public void setUp() {
migrationMap = new HashMap<>();
migrationMap.put(volumeInfo1, dataStore2);
migrationMap.put(volumeInfo2, dataStore2);
when(volumeInfo1.getPoolId()).thenReturn(POOL_1_ID);
when(primaryDataStoreDao.findById(POOL_1_ID)).thenReturn(pool1);
when(pool1.isManaged()).thenReturn(false);
when(dataStore2.getId()).thenReturn(POOL_2_ID);
when(primaryDataStoreDao.findById(POOL_2_ID)).thenReturn(pool2);
when(pool2.isManaged()).thenReturn(true);
when(volumeInfo1.getDataStore()).thenReturn(dataStore1);
when(volumeInfo2.getPoolId()).thenReturn(POOL_1_ID);
lenient().when(volumeInfo2.getDataStore()).thenReturn(dataStore1);
lenient().when(dataStore1.getId()).thenReturn(POOL_1_ID);
when(pool1.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getScope()).thenReturn(ScopeType.CLUSTER);
lenient().when(dataStore3.getId()).thenReturn(POOL_3_ID);
lenient().when(primaryDataStoreDao.findById(POOL_3_ID)).thenReturn(pool3);
lenient().when(pool3.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
lenient().when(pool3.getScope()).thenReturn(ScopeType.CLUSTER);
when(host1.getId()).thenReturn(HOST_1_ID);
when(host1.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host1.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(host2.getId()).thenReturn(HOST_2_ID);
when(host2.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host2.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
}
@Test(expected = CloudRuntimeException.class)
public void testVerifyLiveMigrationMapForKVMMixedManagedUnmagedStorage() {
when(pool1.isManaged()).thenReturn(true);
when(pool1.getId()).thenReturn(POOL_1_ID);
when(pool2.getId()).thenReturn(POOL_2_ID);
lenient().when(pool2.isManaged()).thenReturn(false);
kvmNonManagedStorageDataMotionStrategy.verifyLiveMigrationForKVM(migrationMap, host2);
}
Reusable Method for MCI (click to expand)
private static StoragePoolVO createMockStoragePoolVO(Storage.StoragePoolType poolTypeReturn, boolean isManagedReturn) {
StoragePoolVO storagePoolVO = mock(StoragePoolVO.class);
when(storagePoolVO.getPoolType()).thenReturn(poolTypeReturn);
when(storagePoolVO.isManaged()).thenReturn(isManagedReturn);
return storagePoolVO;
}
Test Case ID #cloudstack_Test_26_2
Test Case Name: testCanHandleLiveMigrationUnmanagedStorage(File: C:\Java_projects\Apache\cloudstack\engine\storage\datamotion\src\test\java\org\apache\cloudstack\storage\motion\KvmNonManagedStorageSystemDataMotionTest.java)
Mock Object Variable Name: pool2
Suggested Diff
@@
when(primaryDataStoreDao.findById(POOL_2_ID)).thenReturn(pool2);
- when(pool2.isManaged()).thenReturn(true);
+ pool2 = createMockStoragePoolVO(Storage.StoragePoolType.NetworkFilesystem, true);
when(volumeInfo1.getDataStore()).thenReturn(dataStore1);
when(volumeInfo2.getPoolId()).thenReturn(POOL_1_ID);
lenient().when(volumeInfo2.getDataStore()).thenReturn(dataStore1);
lenient().when(dataStore1.getId()).thenReturn(POOL_1_ID);
when(pool1.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
- when(pool2.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
- when(pool2.getScope()).thenReturn(ScopeType.CLUSTER);
@@
lenient().when(pool2.isManaged()).thenReturn(false);
@@
Original Test Code (click to expand)
@Before
public void setUp() {
migrationMap = new HashMap<>();
migrationMap.put(volumeInfo1, dataStore2);
migrationMap.put(volumeInfo2, dataStore2);
when(volumeInfo1.getPoolId()).thenReturn(POOL_1_ID);
when(primaryDataStoreDao.findById(POOL_1_ID)).thenReturn(pool1);
when(pool1.isManaged()).thenReturn(false);
when(dataStore2.getId()).thenReturn(POOL_2_ID);
when(primaryDataStoreDao.findById(POOL_2_ID)).thenReturn(pool2);
when(pool2.isManaged()).thenReturn(true);
when(volumeInfo1.getDataStore()).thenReturn(dataStore1);
when(volumeInfo2.getPoolId()).thenReturn(POOL_1_ID);
lenient().when(volumeInfo2.getDataStore()).thenReturn(dataStore1);
lenient().when(dataStore1.getId()).thenReturn(POOL_1_ID);
when(pool1.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getScope()).thenReturn(ScopeType.CLUSTER);
lenient().when(dataStore3.getId()).thenReturn(POOL_3_ID);
lenient().when(primaryDataStoreDao.findById(POOL_3_ID)).thenReturn(pool3);
lenient().when(pool3.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
lenient().when(pool3.getScope()).thenReturn(ScopeType.CLUSTER);
when(host1.getId()).thenReturn(HOST_1_ID);
when(host1.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host1.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(host2.getId()).thenReturn(HOST_2_ID);
when(host2.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host2.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
}
@Test
public void testCanHandleLiveMigrationUnmanagedStorage() {
lenient().when(pool2.isManaged()).thenReturn(false);
StrategyPriority priority = kvmNonManagedStorageDataMotionStrategy.canHandleKVMNonManagedLiveNFSStorageMigration(migrationMap, host1, host2);
assertEquals(StrategyPriority.HYPERVISOR, priority);
}
Reusable Method for MCI (click to expand)
private static StoragePoolVO createMockStoragePoolVO(Storage.StoragePoolType poolTypeReturn, boolean isManagedReturn) {
StoragePoolVO storagePoolVO = mock(StoragePoolVO.class);
when(storagePoolVO.getPoolType()).thenReturn(poolTypeReturn);
when(storagePoolVO.isManaged()).thenReturn(isManagedReturn);
return storagePoolVO;
}
Test Case ID #cloudstack_Test_26_3
Test Case Name: testVerifyLiveMigrationMapForKVMMixedManagedUnmagedStorage(File: C:\Java_projects\Apache\cloudstack\engine\storage\datamotion\src\test\java\org\apache\cloudstack\storage\motion\KvmNonManagedStorageSystemDataMotionTest.java)
Mock Object Variable Name: pool2
Suggested Diff
@@
when(pool1.isManaged()).thenReturn(true);
when(pool1.getId()).thenReturn(POOL_1_ID);
- when(pool2.getId()).thenReturn(POOL_2_ID);
- lenient().when(pool2.isManaged()).thenReturn(false);
+ pool2 = createMockStoragePoolVO(Storage.StoragePoolType.NetworkFilesystem, false);
+ when(pool2.getId()).thenReturn(POOL_2_ID);
kvmNonManagedStorageDataMotionStrategy.verifyLiveMigrationForKVM(migrationMap, host2);
Original Test Code (click to expand)
@Before
public void setUp() {
migrationMap = new HashMap<>();
migrationMap.put(volumeInfo1, dataStore2);
migrationMap.put(volumeInfo2, dataStore2);
when(volumeInfo1.getPoolId()).thenReturn(POOL_1_ID);
when(primaryDataStoreDao.findById(POOL_1_ID)).thenReturn(pool1);
when(pool1.isManaged()).thenReturn(false);
when(dataStore2.getId()).thenReturn(POOL_2_ID);
when(primaryDataStoreDao.findById(POOL_2_ID)).thenReturn(pool2);
when(pool2.isManaged()).thenReturn(true);
when(volumeInfo1.getDataStore()).thenReturn(dataStore1);
when(volumeInfo2.getPoolId()).thenReturn(POOL_1_ID);
lenient().when(volumeInfo2.getDataStore()).thenReturn(dataStore1);
lenient().when(dataStore1.getId()).thenReturn(POOL_1_ID);
when(pool1.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getScope()).thenReturn(ScopeType.CLUSTER);
lenient().when(dataStore3.getId()).thenReturn(POOL_3_ID);
lenient().when(primaryDataStoreDao.findById(POOL_3_ID)).thenReturn(pool3);
lenient().when(pool3.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
lenient().when(pool3.getScope()).thenReturn(ScopeType.CLUSTER);
when(host1.getId()).thenReturn(HOST_1_ID);
when(host1.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host1.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(host2.getId()).thenReturn(HOST_2_ID);
when(host2.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host2.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
}
@Test(expected = CloudRuntimeException.class)
public void testVerifyLiveMigrationMapForKVMMixedManagedUnmagedStorage() {
when(pool1.isManaged()).thenReturn(true);
when(pool1.getId()).thenReturn(POOL_1_ID);
when(pool2.getId()).thenReturn(POOL_2_ID);
lenient().when(pool2.isManaged()).thenReturn(false);
kvmNonManagedStorageDataMotionStrategy.verifyLiveMigrationForKVM(migrationMap, host2);
}
Reusable Method for MCI (click to expand)
private static StoragePoolVO createMockStoragePoolVO(Storage.StoragePoolType poolTypeReturn, boolean isManagedReturn) {
StoragePoolVO storagePoolVO = mock(StoragePoolVO.class);
when(storagePoolVO.getPoolType()).thenReturn(poolTypeReturn);
when(storagePoolVO.isManaged()).thenReturn(isManagedReturn);
return storagePoolVO;
}
Mock Clone Instance #cloudstack_MCI_27
- Scope: method level
- Mocked Class:
com.cloud.network.router.VirtualRouter
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static VirtualRouter createMockVirtualRouter(long hostId) {
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(hostId);
return vr;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_27_1
Test Case Name: testSendCommandsToRouter(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: vr
Suggested Diff
@@
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
- VirtualRouter vr = mock(VirtualRouter.class);
- when(vr.getHostId()).thenReturn(HOST_ID);
+ VirtualRouter vr = createMockVirtualRouter(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
// In the second iteration it should match and return, without invoking the third
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(false);
lenient().when(answer3.getResult()).thenReturn(false);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
// Execute
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
// Assert
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(1)).getResult();
verify(answer2, times(1)).getResult();
verify(answer3, times(0)).getResult();
assertFalse(result);
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouter() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(false);
lenient().when(answer3.getResult()).thenReturn(false);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(1)).getResult();
verify(answer2, times(1)).getResult();
verify(answer3, times(0)).getResult();
assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static VirtualRouter createMockVirtualRouter(long hostId) {
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(hostId);
return vr;
}
Test Case ID #cloudstack_Test_27_2
Test Case Name: testSendCommandsToRouterWithTrueResult(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: vr
Suggested Diff
@@
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
- VirtualRouter vr = mock(VirtualRouter.class);
- when(vr.getHostId()).thenReturn(HOST_ID);
+ VirtualRouter vr = createMockVirtualRouter(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouterWithTrueResult() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(true);
when(answer3.getResult()).thenReturn(true);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(1)).getResult();
verify(answer2, times(1)).getResult();
verify(answer3, times(1)).getResult();
assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static VirtualRouter createMockVirtualRouter(long hostId) {
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(hostId);
return vr;
}
Test Case ID #cloudstack_Test_27_3
Test Case Name: testSendCommandsToRouterWithNoAnswers(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: vr
Suggested Diff
@@
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
- VirtualRouter vr = mock(VirtualRouter.class);
- when(vr.getHostId()).thenReturn(HOST_ID);
+ VirtualRouter vr = createMockVirtualRouter(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
// In the second iteration it should match and return, without invoking the third
Answer[] answers = { answer1, answer2 };
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
// Execute
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
// Assert
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(0)).getResult();
assertFalse(result);
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouterWithNoAnswers() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer[] answers = { answer1, answer2 };
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(0)).getResult();
assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static VirtualRouter createMockVirtualRouter(long hostId) {
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(hostId);
return vr;
}
Mock Clone Instance #cloudstack_MCI_28
- Scope: method level
- Mocked Class:
org.apache.cloudstack.framework.config.ConfigKey<java.lang.Boolean>
- Test Case Count: 2
- MO Count: 3
Reusable Method
private static ConfigKey<Boolean> createMockConfigKeyValueIn(long valueInArg, boolean valueInReturn) {
ConfigKey<Boolean> configKeyMock = Mockito.mock(ConfigKey.class);
Mockito.when(configKeyMock.valueIn(valueInArg)).thenReturn(valueInReturn);
return configKeyMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_28_1
Test Case Name: testDoNotSkip2FAcheckForUserWhen2FAMandated(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\api\ApiServletTest.java)
Mock Object Variable Name: mandateUserTwoFactorAuthentication
Suggested Diff
@@
Mockito.when(userAccount.isUser2faEnabled()).thenReturn(false);
- ConfigKey<Boolean> mandateUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.mandateUserTwoFactorAuthentication = mandateUserTwoFactorAuthentication;
- Mockito.when(mandateUserTwoFactorAuthentication.valueIn(1L)).thenReturn(false);
+ ConfigKey<Boolean> mandateUserTwoFactorAuthentication = createMockConfigKeyValueIn(1L, false);
boolean result = servlet.skip2FAcheckForUser(cuurentSession);
Assert.assertEquals(true, result);
}
@@
Original Test Code (click to expand)
@Test
public void testDoNotSkip2FAcheckForUserWhen2FAMandated() {
servlet.accountMgr = accountMgr;
HttpSession cuurentSession = Mockito.mock(HttpSession.class);
Mockito.when(cuurentSession.getAttribute("userid")).thenReturn(1L);
Mockito.when(cuurentSession.getAttribute(ApiConstants.IS_2FA_VERIFIED)).thenReturn(false);
Mockito.when(accountMgr.getUserAccountById(1L)).thenReturn(userAccount);
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
Mockito.when(userAccount.isUser2faEnabled()).thenReturn(false);
ConfigKey<Boolean> mandateUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.mandateUserTwoFactorAuthentication = mandateUserTwoFactorAuthentication;
Mockito.when(mandateUserTwoFactorAuthentication.valueIn(1L)).thenReturn(false);
boolean result = servlet.skip2FAcheckForUser(cuurentSession);
Assert.assertEquals(true, result);
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Boolean> createMockConfigKeyValueIn(long valueInArg, boolean valueInReturn) {
ConfigKey<Boolean> configKeyMock = Mockito.mock(ConfigKey.class);
Mockito.when(configKeyMock.valueIn(valueInArg)).thenReturn(valueInReturn);
return configKeyMock;
}
Test Case ID #cloudstack_Test_28_2
Test Case Name: testSkip2FAcheckForUserWhen2FAisNotEnabledAndNotMandated(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\api\ApiServletTest.java)
Mock Object Variable Name: enableUserTwoFactorAuthentication
Suggested Diff
@@
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
Mockito.when(userAccount.isUser2faEnabled()).thenReturn(false);
- ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
- AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
- Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
+ ConfigKey<Boolean> enableUserTwoFactorAuthentication = createMockConfigKeyValueIn(1L, true);
+ AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
ConfigKey<Boolean> mandateUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.mandateUserTwoFactorAuthentication = mandateUserTwoFactorAuthentication;
Mockito.when(mandateUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
boolean result = servlet.skip2FAcheckForUser(cuurentSession);
Assert.assertEquals(false, result);
}
@@
Original Test Code (click to expand)
@Test
public void testSkip2FAcheckForUserWhen2FAisNotEnabledAndNotMandated() {
servlet.accountMgr = accountMgr;
HttpSession cuurentSession = Mockito.mock(HttpSession.class);
Mockito.when(cuurentSession.getAttribute("userid")).thenReturn(1L);
Mockito.when(cuurentSession.getAttribute(ApiConstants.IS_2FA_VERIFIED)).thenReturn(false);
Mockito.when(accountMgr.getUserAccountById(1L)).thenReturn(userAccount);
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
Mockito.when(userAccount.isUser2faEnabled()).thenReturn(false);
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
ConfigKey<Boolean> mandateUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.mandateUserTwoFactorAuthentication = mandateUserTwoFactorAuthentication;
Mockito.when(mandateUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
boolean result = servlet.skip2FAcheckForUser(cuurentSession);
Assert.assertEquals(false, result);
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Boolean> createMockConfigKeyValueIn(long valueInArg, boolean valueInReturn) {
ConfigKey<Boolean> configKeyMock = Mockito.mock(ConfigKey.class);
Mockito.when(configKeyMock.valueIn(valueInArg)).thenReturn(valueInReturn);
return configKeyMock;
}
Test Case ID #cloudstack_Test_28_3
Test Case Name: testSkip2FAcheckForUserWhen2FAisNotEnabledAndNotMandated(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\api\ApiServletTest.java)
Mock Object Variable Name: mandateUserTwoFactorAuthentication
Suggested Diff
@@
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
- ConfigKey<Boolean> mandateUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
- AccountManagerImpl.mandateUserTwoFactorAuthentication = mandateUserTwoFactorAuthentication;
- Mockito.when(mandateUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
+ ConfigKey<Boolean> mandateUserTwoFactorAuthentication = createMockConfigKeyValueIn(1L, true);
+ AccountManagerImpl.mandateUserTwoFactorAuthentication = mandateUserTwoFactorAuthentication;
boolean result = servlet.skip2FAcheckForUser(cuurentSession);
Assert.assertEquals(false, result);
}
Original Test Code (click to expand)
@Test
public void testSkip2FAcheckForUserWhen2FAisNotEnabledAndNotMandated() {
servlet.accountMgr = accountMgr;
HttpSession cuurentSession = Mockito.mock(HttpSession.class);
Mockito.when(cuurentSession.getAttribute("userid")).thenReturn(1L);
Mockito.when(cuurentSession.getAttribute(ApiConstants.IS_2FA_VERIFIED)).thenReturn(false);
Mockito.when(accountMgr.getUserAccountById(1L)).thenReturn(userAccount);
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
Mockito.when(userAccount.isUser2faEnabled()).thenReturn(false);
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
ConfigKey<Boolean> mandateUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.mandateUserTwoFactorAuthentication = mandateUserTwoFactorAuthentication;
Mockito.when(mandateUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
boolean result = servlet.skip2FAcheckForUser(cuurentSession);
Assert.assertEquals(false, result);
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Boolean> createMockConfigKeyValueIn(long valueInArg, boolean valueInReturn) {
ConfigKey<Boolean> configKeyMock = Mockito.mock(ConfigKey.class);
Mockito.when(configKeyMock.valueIn(valueInArg)).thenReturn(valueInReturn);
return configKeyMock;
}
Mock Clone Instance #cloudstack_MCI_29
- Scope: method level
- Mocked Class:
org.apache.cloudstack.framework.config.ConfigKey<java.lang.Boolean>
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static ConfigKey<Boolean> createMockEnableUserTwoFactorAuthentication(long valueInArg, boolean valueInReturn) {
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
Mockito.when(enableUserTwoFactorAuthentication.valueIn(valueInArg)).thenReturn(valueInReturn);
return enableUserTwoFactorAuthentication;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_29_1
Test Case Name: testEnableUserTwoFactorAuthenticationWhenDomainlevelSettingisDisabled(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: enableUserTwoFactorAuthentication
Suggested Diff
@@
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
- ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
- AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
- Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(false);
+ ConfigKey<Boolean> enableUserTwoFactorAuthentication = createMockEnableUserTwoFactorAuthentication(1L, false);
+ AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
accountManagerImpl.enableTwoFactorAuthentication(userId, "totp");
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testEnableUserTwoFactorAuthenticationWhenDomainlevelSettingisDisabled() {
Long userId = 1L;
UserAccountVO userAccount = Mockito.mock(UserAccountVO.class);
UserVO userVO = Mockito.mock(UserVO.class);
Mockito.when(userAccountDaoMock.findById(userId)).thenReturn(userAccount);
Mockito.when(userDaoMock.findById(userId)).thenReturn(userVO);
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(false);
accountManagerImpl.enableTwoFactorAuthentication(userId, "totp");
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Boolean> createMockEnableUserTwoFactorAuthentication(long valueInArg, boolean valueInReturn) {
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
Mockito.when(enableUserTwoFactorAuthentication.valueIn(valueInArg)).thenReturn(valueInReturn);
return enableUserTwoFactorAuthentication;
}
Test Case ID #cloudstack_Test_29_2
Test Case Name: testEnableUserTwoFactorAuthenticationWhenProviderNameIsNullExpectedDefaultProviderTOTP(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: enableUserTwoFactorAuthentication
Suggested Diff
@@
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
- ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
- AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
- Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
+ ConfigKey<Boolean> enableUserTwoFactorAuthentication = createMockEnableUserTwoFactorAuthentication(1L, true);
+ AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
@@
Original Test Code (click to expand)
@Test
public void testEnableUserTwoFactorAuthenticationWhenProviderNameIsNullExpectedDefaultProviderTOTP() {
Long userId = 1L;
UserAccountVO userAccount = Mockito.mock(UserAccountVO.class);
UserVO userVO = Mockito.mock(UserVO.class);
Mockito.when(userAccountDaoMock.findById(userId)).thenReturn(userAccount);
Mockito.when(userDaoMock.findById(userId)).thenReturn(userVO);
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("totp")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("totp")).thenReturn(totpProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
Mockito.when(userDaoMock.update(userId, userVoMock)).thenReturn(true);
UserTwoFactorAuthenticationSetupResponse response = accountManagerImpl.enableTwoFactorAuthentication(userId, null);
Assert.assertEquals("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL", response.getSecretCode());
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Boolean> createMockEnableUserTwoFactorAuthentication(long valueInArg, boolean valueInReturn) {
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
Mockito.when(enableUserTwoFactorAuthentication.valueIn(valueInArg)).thenReturn(valueInReturn);
return enableUserTwoFactorAuthentication;
}
Test Case ID #cloudstack_Test_29_3
Test Case Name: testEnableUserTwoFactorAuthentication(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: enableUserTwoFactorAuthentication
Suggested Diff
@@
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
- ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
- AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
- Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
+ ConfigKey<Boolean> enableUserTwoFactorAuthentication = createMockEnableUserTwoFactorAuthentication(1L, true);
+ AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
@@
Original Test Code (click to expand)
@Test
public void testEnableUserTwoFactorAuthentication() {
Long userId = 1L;
UserAccountVO userAccount = Mockito.mock(UserAccountVO.class);
UserVO userVO = Mockito.mock(UserVO.class);
Mockito.when(userAccountDaoMock.findById(userId)).thenReturn(userAccount);
Mockito.when(userDaoMock.findById(userId)).thenReturn(userVO);
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("totp")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("totp")).thenReturn(totpProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
Mockito.when(userDaoMock.update(userId, userVoMock)).thenReturn(true);
UserTwoFactorAuthenticationSetupResponse response = accountManagerImpl.enableTwoFactorAuthentication(userId, "totp");
Assert.assertEquals("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL", response.getSecretCode());
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Boolean> createMockEnableUserTwoFactorAuthentication(long valueInArg, boolean valueInReturn) {
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
Mockito.when(enableUserTwoFactorAuthentication.valueIn(valueInArg)).thenReturn(valueInReturn);
return enableUserTwoFactorAuthentication;
}
Test Case ID #cloudstack_Test_29_4
Test Case Name: testEnable2FAcode(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: enableUserTwoFactorAuthenticationMock
Suggested Diff
@@
Mockito.when(userAccountVO.getDomainId()).thenReturn(1L);
- Mockito.when(enableUserTwoFactorAuthenticationMock.valueIn(1L)).thenReturn(true);
+ enableUserTwoFactorAuthenticationMock = createMockEnableUserTwoFactorAuthentication(1L, true);
Mockito.when(cmd.getEnable()).thenReturn(true);
UserTwoFactorAuthenticator staticpinProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
@@
Original Test Code (click to expand)
@Test
public void testEnable2FAcode() {
SetupUserTwoFactorAuthenticationCmd cmd = Mockito.mock(SetupUserTwoFactorAuthenticationCmd.class);
Mockito.when(cmd.getProvider()).thenReturn("staticpin");
AccountVO accountMock = Mockito.mock(AccountVO.class);
Mockito.when(callingAccount.getId()).thenReturn(1L);
Mockito.when(callingUser.getId()).thenReturn(1L);
CallContext.register(callingUser, callingAccount);
Mockito.lenient().when(_accountService.getActiveAccountById(1L)).thenReturn(accountMock);
Mockito.when(userAccountDaoMock.findById(1L)).thenReturn(userAccountVO);
Mockito.when(userDaoMock.findById(1L)).thenReturn(userVoMock);
Mockito.when(userAccountVO.getDomainId()).thenReturn(1L);
Mockito.when(enableUserTwoFactorAuthenticationMock.valueIn(1L)).thenReturn(true);
Mockito.when(cmd.getEnable()).thenReturn(true);
UserTwoFactorAuthenticator staticpinProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("staticpin")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("staticpin")).thenReturn(staticpinProvider);
Mockito.when(staticpinProvider.setup2FAKey(userAccountVO)).thenReturn("345543");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
UserTwoFactorAuthenticationSetupResponse response = accountManagerImpl.setupUserTwoFactorAuthentication(cmd);
Assert.assertEquals("345543", response.getSecretCode());
}
@Before
public void setUp() throws Exception {
enableUserTwoFactorAuthenticationMock = Mockito.mock(ConfigKey.class);
accountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthenticationMock;
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Boolean> createMockEnableUserTwoFactorAuthentication(long valueInArg, boolean valueInReturn) {
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
Mockito.when(enableUserTwoFactorAuthentication.valueIn(valueInArg)).thenReturn(valueInReturn);
return enableUserTwoFactorAuthentication;
}
Mock Clone Instance #cloudstack_MCI_30
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.VolumeTO
- Test Case Count: 3
- MO Count: 6
Reusable Method
private static VolumeTO createMockVolumeTO(String path) {
VolumeTO volumeTO = Mockito.mock(VolumeTO.class);
when(volumeTO.getPath()).thenReturn(path);
return volumeTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_30_1
Test Case Name: testMigrateWithStorageCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: vol1
Suggested Diff
@@
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
+ final VolumeTO vol1 = createMockVolumeTO(path);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network networkForSm = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final MigrateWithStorageCommand migrateStorageCommand = new MigrateWithStorageCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
- when(vol1.getPath()).thenReturn(path);
when(vol2.getPath()).thenReturn(path);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
when(xenServer610Resource.getVDIbyUuid(conn, storage1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, storage2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(networkForSm);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).prepareISO(conn, vmName, null, null);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network networkForSm = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final MigrateWithStorageCommand migrateStorageCommand = new MigrateWithStorageCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
when(vol2.getPath()).thenReturn(path);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
when(xenServer610Resource.getVDIbyUuid(conn, storage1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, storage2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(networkForSm);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).prepareISO(conn, vmName, null, null);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VolumeTO createMockVolumeTO(String path) {
VolumeTO volumeTO = Mockito.mock(VolumeTO.class);
when(volumeTO.getPath()).thenReturn(path);
return volumeTO;
}
Test Case ID #cloudstack_Test_30_2
Test Case Name: testMigrateWithStorageCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: vol2
Suggested Diff
@@
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
- final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
+ final VolumeTO vol2 = createMockVolumeTO(path);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
@@
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
- when(vol2.getPath()).thenReturn(path);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
when(xenServer610Resource.getVDIbyUuid(conn, storage1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, storage2.getPath())).thenReturn(vdi2);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network networkForSm = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final MigrateWithStorageCommand migrateStorageCommand = new MigrateWithStorageCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
when(vol2.getPath()).thenReturn(path);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
when(xenServer610Resource.getVDIbyUuid(conn, storage1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, storage2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(networkForSm);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).prepareISO(conn, vmName, null, null);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VolumeTO createMockVolumeTO(String path) {
VolumeTO volumeTO = Mockito.mock(VolumeTO.class);
when(volumeTO.getPath()).thenReturn(path);
return volumeTO;
}
Test Case ID #cloudstack_Test_30_3
Test Case Name: testMigrateWithStorageSendCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: volume1
Suggested Diff
@@
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
+ final VolumeTO volume1 = createMockVolumeTO(path);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
@@
when(vmSpec.getName()).thenReturn(vmName);
- when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(nic1.getMac()).thenReturn(mac);
when(nic2.getMac()).thenReturn(mac);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommand() {
final String vmName = "small";
final String path = "/";
final String mac = "3c:15:c2:c4:4f:18";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
final Network network1 = Mockito.mock(Network.class);
final Network network2 = Mockito.mock(Network.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, network1));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, network2));
final Map<String, String> token = new HashMap<String, String>();
final VIF vif1 = Mockito.mock(VIF.class);
final VIF vif2 = Mockito.mock(VIF.class);
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(nic1.getMac()).thenReturn(mac);
when(nic2.getMac()).thenReturn(mac);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getVifByMac(conn, null, nic1.getMac())).thenReturn(vif1);
when(xenServer610Resource.getVifByMac(conn, null, nic2.getMac())).thenReturn(vif2);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(2)).getVDIbyUuid(conn, volume1.getPath());
verify(xenServer610Resource, times(2)).getVifByMac(conn, null, nic1.getMac());
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VolumeTO createMockVolumeTO(String path) {
VolumeTO volumeTO = Mockito.mock(VolumeTO.class);
when(volumeTO.getPath()).thenReturn(path);
return volumeTO;
}
Test Case ID #cloudstack_Test_30_4
Test Case Name: testMigrateWithStorageSendCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: volume2
Suggested Diff
@@
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
- final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
+ final VolumeTO volume2 = createMockVolumeTO(path);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
final Network network1 = Mockito.mock(Network.class);
final Network network2 = Mockito.mock(Network.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
@@
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
- when(volume2.getPath()).thenReturn(path);
when(nic1.getMac()).thenReturn(mac);
when(nic2.getMac()).thenReturn(mac);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommand() {
final String vmName = "small";
final String path = "/";
final String mac = "3c:15:c2:c4:4f:18";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
final Network network1 = Mockito.mock(Network.class);
final Network network2 = Mockito.mock(Network.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, network1));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, network2));
final Map<String, String> token = new HashMap<String, String>();
final VIF vif1 = Mockito.mock(VIF.class);
final VIF vif2 = Mockito.mock(VIF.class);
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(nic1.getMac()).thenReturn(mac);
when(nic2.getMac()).thenReturn(mac);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getVifByMac(conn, null, nic1.getMac())).thenReturn(vif1);
when(xenServer610Resource.getVifByMac(conn, null, nic2.getMac())).thenReturn(vif2);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(2)).getVDIbyUuid(conn, volume1.getPath());
verify(xenServer610Resource, times(2)).getVifByMac(conn, null, nic1.getMac());
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VolumeTO createMockVolumeTO(String path) {
VolumeTO volumeTO = Mockito.mock(VolumeTO.class);
when(volumeTO.getPath()).thenReturn(path);
return volumeTO;
}
Test Case ID #cloudstack_Test_30_5
Test Case Name: testMigrateWithStorageSendCommandNetException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: volume1
Suggested Diff
@@
final String vmName = "small";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
+ final VolumeTO volume1 = createMockVolumeTO(path);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
@@
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
- when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommandNetException() {
final String vmName = "small";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
Gson gson = new Gson();
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, new String("a")));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, new String("b")));
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VolumeTO createMockVolumeTO(String path) {
VolumeTO volumeTO = Mockito.mock(VolumeTO.class);
when(volumeTO.getPath()).thenReturn(path);
return volumeTO;
}
Test Case ID #cloudstack_Test_30_6
Test Case Name: testMigrateWithStorageSendCommandNetException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: volume2
Suggested Diff
@@
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
- final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
+ final VolumeTO volume2 = createMockVolumeTO(path);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
@@
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
- when(volume2.getPath()).thenReturn(path);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommandNetException() {
final String vmName = "small";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
Gson gson = new Gson();
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, new String("a")));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, new String("b")));
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VolumeTO createMockVolumeTO(String path) {
VolumeTO volumeTO = Mockito.mock(VolumeTO.class);
when(volumeTO.getPath()).thenReturn(path);
return volumeTO;
}
Mock Clone Instance #cloudstack_MCI_31
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.VolumeTO
- Test Case Count: 2
- MO Count: 2
Reusable Method
private VolumeTO vol1;
@BeforeEach
public void setUp() {
vol1 = mock(VolumeTO.class);
}
vol1
The refactoring details in each test cases
Test Case ID #cloudstack_Test_31_1
Test Case Name: testMigrateWithStorageReceiveCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: vol1
Suggested Diff
@@
@Test
public void testMigrateWithStorageReceiveCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
+ // removed local mock; replaced with global field `vol1`
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageReceiveCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final List<Pair<VolumeTO, String>> volumeToFiler = new ArrayList<>();
volumeToFiler.add(new Pair<>(vol1, storage1.getPath()));
volumeToFiler.add(new Pair<>(vol2, storage2.getPath()));
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network network = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final Network nw1 = Mockito.mock(Network.class);
final Network nw2 = Mockito.mock(Network.class);
final Network nw3 = Mockito.mock(Network.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final MigrateWithStorageReceiveCommand migrateStorageCommand = new MigrateWithStorageReceiveCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
try {
when(xenServer610Resource.getNetwork(conn, nicTO1)).thenReturn(nw1);
when(xenServer610Resource.getNetwork(conn, nicTO2)).thenReturn(nw2);
when(xenServer610Resource.getNetwork(conn, nicTO3)).thenReturn(nw3);
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(network);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private VolumeTO vol1;
@BeforeEach
public void setUp() {
vol1 = mock(VolumeTO.class);
}
vol1
Test Case ID #cloudstack_Test_31_2
Test Case Name: testMigrateWithStorageSendCommandSRException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: volume1
Suggested Diff
@@
@Test
public void testMigrateWithStorageSendCommandSRException() {
final String vmName = "small";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
+ // removed local mock; replaced with global field `vol1`
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
- volumeToSr.add(new Pair<VolumeTO, Object>(volume1, new String("a")));
+ volumeToSr.add(new Pair<VolumeTO, Object>(vol1, new String("a")));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, new String("b")));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
}
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommandSRException() {
final String vmName = "small";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, new String("a")));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, new String("b")));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private VolumeTO vol1;
@BeforeEach
public void setUp() {
vol1 = mock(VolumeTO.class);
}
vol1
Mock Clone Instance #cloudstack_MCI_32
- Scope: class level
- Mocked Class:
HostDao
- Test Case Count: 8
- MO Count: 8
Reusable Method
public class MockHostDao {
public static HostDao createMockHostDao(HostVO host) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(host);
return hostDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_32_1
Test Case Name: preparePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
- when(hostDao.findById(anyLong())).thenReturn(host);
+ hostDao = MockHostDao.createMockHostDao(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
Original Test Code (click to expand)
@Test
public void preparePublicNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO host) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(host);
return hostDao;
}
}
Test Case ID #cloudstack_Test_32_2
Test Case Name: prepareManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
- when(hostDao.findById(anyLong())).thenReturn(host);
+ hostDao = MockHostDao.createMockHostDao(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
@@
Original Test Code (click to expand)
@Test
public void prepareManagementNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO host) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(host);
return hostDao;
}
}
Test Case ID #cloudstack_Test_32_3
Test Case Name: prepareWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
- when(hostDao.findById(anyLong())).thenReturn(host);
+ hostDao = MockHostDao.createMockHostDao(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void prepareWithExceptionTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO host) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(host);
return hostDao;
}
}
Test Case ID #cloudstack_Test_32_4
Test Case Name: releasePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
- when(hostDao.findById(anyLong())).thenReturn(host);
+ hostDao = MockHostDao.createMockHostDao(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
Original Test Code (click to expand)
@Test
public void releasePublicNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO host) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(host);
return hostDao;
}
}
Test Case ID #cloudstack_Test_32_5
Test Case Name: releaseManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
- when(hostDao.findById(anyLong())).thenReturn(host);
+ hostDao = MockHostDao.createMockHostDao(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
@@
Original Test Code (click to expand)
@Test
public void releaseManagementNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO host) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(host);
return hostDao;
}
}
Test Case ID #cloudstack_Test_32_6
Test Case Name: releaseWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
- when(hostDao.findById(anyLong())).thenReturn(host);
+ hostDao = MockHostDao.createMockHostDao(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void releaseWithExceptionTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO host) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(host);
return hostDao;
}
}
Test Case ID #cloudstack_Test_32_7
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
- when(hostDao.findById(anyLong())).thenReturn(host);
+ hostDao = MockHostDao.createMockHostDao(host);
guru.reserve(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
guru.reserve(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO host) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(host);
return hostDao;
}
}
Test Case ID #cloudstack_Test_32_8
Test Case Name: testRelease(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
- when(hostDao.findById(anyLong())).thenReturn(host);
+ hostDao = MockHostDao.createMockHostDao(host);
when(ipAddressDao.findByAssociatedVmId(anyLong())).thenReturn(ipAddressVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
guru.release(nic, vm, "test");
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testRelease() {
final NicProfile nic = mock(NicProfile.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(hostDao.findById(anyLong())).thenReturn(host);
when(ipAddressDao.findByAssociatedVmId(anyLong())).thenReturn(ipAddressVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
guru.release(nic, vm, "test");
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO host) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(host);
return hostDao;
}
}
Mock Clone Instance #cloudstack_MCI_33
- Scope: class level
- Mocked Class:
HostDao
- Test Case Count: 8
- MO Count: 8
Reusable Method
public class MockHostDao {
public static HostDao createMockHostDao(HostVO hostVO) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
return hostDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_33_1
Test Case Name: testCommitMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
- when(hostDao.findById(anyLong())).thenReturn(hostVO);
+ hostDao = MockHostDao.createMockHostDao(hostVO);
guru.commitMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
@@
Original Test Code (click to expand)
@Test
public void testCommitMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.commitMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO hostVO) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
return hostDao;
}
}
Test Case ID #cloudstack_Test_33_2
Test Case Name: processHostAboutToBeRemovedWithSecurityGroupTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
- when(hostDao.findById(anyLong())).thenReturn(hostVO);
+ hostDao = MockHostDao.createMockHostDao(hostVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(true);
when(networkDao.listByZoneSecurityGroup(anyLong())).thenReturn(List.of(network));
tungstenElement.processHostAboutToBeRemoved(1L);
Original Test Code (click to expand)
@Test
public void processHostAboutToBeRemovedWithSecurityGroupTest() {
HostVO hostVO = mock(HostVO.class);
TungstenProviderVO tungstenProvider = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
NetworkVO network = mock(NetworkVO.class);
when(hostVO.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProvider);
when(hostVO.getPublicIpAddress()).thenReturn("192.168.100.100");
when(tungstenProvider.getGateway()).thenReturn("192.168.100.100");
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(true);
when(networkDao.listByZoneSecurityGroup(anyLong())).thenReturn(List.of(network));
tungstenElement.processHostAboutToBeRemoved(1L);
verify(agentManager, times(1)).easySend(anyLong(), any(SetupTungstenVRouterCommand.class));
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO hostVO) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
return hostDao;
}
}
Test Case ID #cloudstack_Test_33_3
Test Case Name: processHostAboutToBeRemovedWithoutSecurityGroupTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
- when(hostDao.findById(anyLong())).thenReturn(hostVO);
+ hostDao = MockHostDao.createMockHostDao(hostVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(false);
tungstenElement.processHostAboutToBeRemoved(1L);
Original Test Code (click to expand)
@Test
public void processHostAboutToBeRemovedWithoutSecurityGroupTest() {
HostVO hostVO = mock(HostVO.class);
TungstenProviderVO tungstenProvider = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(hostVO.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProvider);
when(hostVO.getPublicIpAddress()).thenReturn("192.168.100.100");
when(tungstenProvider.getGateway()).thenReturn("192.168.100.100");
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(false);
tungstenElement.processHostAboutToBeRemoved(1L);
verify(agentManager, times(1)).easySend(anyLong(), any(SetupTungstenVRouterCommand.class));
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO hostVO) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
return hostDao;
}
}
Test Case ID #cloudstack_Test_33_4
Test Case Name: prepareMigrationTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
- when(hostDao.findById(anyLong())).thenReturn(hostVO);
+ hostDao = MockHostDao.createMockHostDao(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
@@
Original Test Code (click to expand)
@Test
public void prepareMigrationTest() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
DeployDestination dest = mock(DeployDestination.class);
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO hostVO) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
return hostDao;
}
}
Test Case ID #cloudstack_Test_33_5
Test Case Name: rollbackMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
- when(hostDao.findById(anyLong())).thenReturn(hostVO);
+ hostDao = MockHostDao.createMockHostDao(hostVO);
tungstenElement.rollbackMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void rollbackMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.rollbackMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO hostVO) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
return hostDao;
}
}
Test Case ID #cloudstack_Test_33_6
Test Case Name: commitMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
- when(hostDao.findById(anyLong())).thenReturn(hostVO);
+ hostDao = MockHostDao.createMockHostDao(hostVO);
tungstenElement.commitMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void commitMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.commitMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO hostVO) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
return hostDao;
}
}
Test Case ID #cloudstack_Test_33_7
Test Case Name: testPrepareMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
- when(hostDao.findById(anyLong())).thenReturn(hostVO);
+ hostDao = MockHostDao.createMockHostDao(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
Original Test Code (click to expand)
@Test
public void testPrepareMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO hostVO) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
return hostDao;
}
}
Test Case ID #cloudstack_Test_33_8
Test Case Name: testRollbackMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: hostDao
Suggested Diff
@@
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
- when(hostDao.findById(anyLong())).thenReturn(hostVO);
+ hostDao = MockHostDao.createMockHostDao(hostVO);
guru.rollbackMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testRollbackMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.rollbackMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockHostDao {
public static HostDao createMockHostDao(HostVO hostVO) {
HostDao hostDao = mock(HostDao.class);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
return hostDao;
}
}
Mock Clone Instance #cloudstack_MCI_34
- Scope: method level
- Mocked Class:
org.apache.cloudstack.context.CallContext
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static CallContext createMockCallContext(Account callingAccount) {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.doReturn(callingAccount).when(callContextMock).getCallingAccount();
return callContextMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_34_1
Test Case Name: validateNetworkAclTestAclNotDefaulWithVpc(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: callContextMock
Suggested Diff
@@
public void validateNetworkAclTestAclNotDefaulWithVpc() {
- CallContext callContextMock = Mockito.mock(CallContext.class);
- Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
+ Account callingAccount = Mockito.mock(Account.class);
+ CallContext callContextMock = createMockCallContext(callingAccount);
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.when(networkAclMock.getId()).thenReturn(3L);
Mockito.when(networkAclMock.getVpcId()).thenReturn(networkMockVpcMockId);
Mockito.doReturn(Mockito.mock(Vpc.class)).when(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
Mockito.doNothing().when(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
networkAclServiceImpl.validateNetworkAcl(networkAclMock);
Mockito.verify(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
Mockito.verify(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
PowerMockito.verifyStatic(CallContext.class);
CallContext.current();
}
Original Test Code (click to expand)
@Test
@PrepareForTest(CallContext.class)
public void validateNetworkAclTestAclNotDefaulWithVpc() {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.when(networkAclMock.getId()).thenReturn(3L);
Mockito.when(networkAclMock.getVpcId()).thenReturn(networkMockVpcMockId);
Mockito.doReturn(Mockito.mock(Vpc.class)).when(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
Mockito.doNothing().when(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
networkAclServiceImpl.validateNetworkAcl(networkAclMock);
Mockito.verify(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
Mockito.verify(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
PowerMockito.verifyStatic(CallContext.class);
CallContext.current();
}
Reusable Method for MCI (click to expand)
private static CallContext createMockCallContext(Account callingAccount) {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.doReturn(callingAccount).when(callContextMock).getCallingAccount();
return callContextMock;
}
Test Case ID #cloudstack_Test_34_2
Test Case Name: validateMoveAclRulesDataTestSuccesfullExecution(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: callContextMock
Suggested Diff
@@
Mockito.doReturn(Mockito.mock(Vpc.class)).when(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
- CallContext callContextMock = Mockito.mock(CallContext.class);
- Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
+ CallContext callContextMock = createMockCallContext(Mockito.mock(Account.class));
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.doNothing().when(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
networkAclServiceImpl.validateMoveAclRulesData(aclRuleBeingMovedMock, previousAclRuleMock, nextAclRuleMock);
@@
Original Test Code (click to expand)
@Test
public void validateMoveAclRulesDataTestSuccesfullExecution() {
Mockito.when(nextAclRuleMock.getAclId()).thenReturn(networkAclMockId);
Mockito.when(previousAclRuleMock.getAclId()).thenReturn(networkAclMockId);
Mockito.doReturn(networkAclMock).when(networkAclDaoMock).findById(networkAclMockId);
Mockito.doReturn(Mockito.mock(Vpc.class)).when(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.doNothing().when(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
networkAclServiceImpl.validateMoveAclRulesData(aclRuleBeingMovedMock, previousAclRuleMock, nextAclRuleMock);
Mockito.verify(networkAclDaoMock).findById(networkAclMockId);
Mockito.verify(entityManagerMock).findById(Vpc.class, networkMockVpcMockId);
Mockito.verify(accountManagerMock).checkAccess(Mockito.any(Account.class), Mockito.isNull(AccessType.class), Mockito.eq(true), Mockito.any(Vpc.class));
}
Reusable Method for MCI (click to expand)
private static CallContext createMockCallContext(Account callingAccount) {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.doReturn(callingAccount).when(callContextMock).getCallingAccount();
return callContextMock;
}
Test Case ID #cloudstack_Test_34_3
Test Case Name: befoteTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: callContextMock
Suggested Diff
@@
PowerMockito.mockStatic(CallContext.class);
- PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
- Mockito.doReturn(Mockito.mock(User.class)).when(callContextMock).getCallingUser();
- Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
+ callContextMock = createMockCallContext(Mockito.mock(Account.class));
+ PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
+ Mockito.doReturn(Mockito.mock(User.class)).when(callContextMock).getCallingUser();
Mockito.when(networkAclDaoMock.findById(networkAclListId)).thenReturn(networkACLVOMock);
Mockito.when(createNetworkAclCmdMock.getNetworkId()).thenReturn(1L);
Original Test Code (click to expand)
@Before
public void befoteTest() {
PowerMockito.mockStatic(CallContext.class);
PowerMockito.when(CallContext.current()).thenReturn(callContextMock);
Mockito.doReturn(Mockito.mock(User.class)).when(callContextMock).getCallingUser();
Mockito.doReturn(Mockito.mock(Account.class)).when(callContextMock).getCallingAccount();
Mockito.when(networkAclDaoMock.findById(networkAclListId)).thenReturn(networkACLVOMock);
Mockito.when(createNetworkAclCmdMock.getNetworkId()).thenReturn(1L);
Mockito.when(createNetworkAclCmdMock.getProtocol()).thenReturn("tcp");
Mockito.when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingMockId);
Mockito.when(networkMock.getVpcId()).thenReturn(networkMockVpcMockId);
Mockito.when(moveNetworkAclItemCmdMock.getUuidRuleBeingMoved()).thenReturn(uuidAclRuleBeingMoved);
Mockito.when(aclRuleBeingMovedMock.getUuid()).thenReturn(uuidAclRuleBeingMoved);
Mockito.when(aclRuleBeingMovedMock.getAclId()).thenReturn(networkAclMockId);
Mockito.when(previousAclRuleMock.getUuid()).thenReturn(previousAclRuleUuid);
Mockito.when(nextAclRuleMock.getUuid()).thenReturn(nextAclRuleUuid);
Mockito.when(networkAclMock.getVpcId()).thenReturn(networkMockVpcMockId);
}
Reusable Method for MCI (click to expand)
private static CallContext createMockCallContext(Account callingAccount) {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.doReturn(callingAccount).when(callContextMock).getCallingAccount();
return callContextMock;
}
Mock Clone Instance #cloudstack_MCI_35
- Scope: method level
- Mocked Class:
org.apache.cloudstack.context.CallContext
- Test Case Count: 5
- MO Count: 5
Reusable Method
private static CallContext createMockCallContext(Account accountMock) {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
return callContextMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_35_1
Mock Object Variable Name: callContextMock
Suggested Diff
@@
Mockito.doNothing().when(userVmManagerImpl).validateGuestOsIdForUpdateVirtualMachineCommand(updateVmCommand);
- CallContext callContextMock = Mockito.mock(CallContext.class);
- Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
+ CallContext callContextMock = createMockCallContext(accountMock);
ServiceOffering offering = getSvcoffering(512);
Mockito.lenient().when(_serviceOfferingDao.findById(Mockito.anyLong(), Mockito.anyLong())).thenReturn((ServiceOfferingVO) offering);
Mockito.lenient().doNothing().when(accountManager).checkAccess(accountMock, null, true, userVmVoMock);
userVmManagerImpl.validateInputsAndPermissionForUpdateVirtualMachineCommand(updateVmCommand);
Mockito.verify(userVmManagerImpl).validateGuestOsIdForUpdateVirtualMachineCommand(updateVmCommand);
Mockito.verify(accountManager).checkAccess(callerAccount, null, true, userVmVoMock);
@@
Original Test Code (click to expand)
@Test
@PrepareForTest(CallContext.class)
public void validateInputsAndPermissionForUpdateVirtualMachineCommandTest() {
Mockito.doNothing().when(userVmManagerImpl).validateGuestOsIdForUpdateVirtualMachineCommand(updateVmCommand);
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
ServiceOffering offering = getSvcoffering(512);
Mockito.lenient().when(_serviceOfferingDao.findById(Mockito.anyLong(), Mockito.anyLong())).thenReturn((ServiceOfferingVO) offering);
Mockito.lenient().doNothing().when(accountManager).checkAccess(accountMock, null, true, userVmVoMock);
userVmManagerImpl.validateInputsAndPermissionForUpdateVirtualMachineCommand(updateVmCommand);
Mockito.verify(userVmManagerImpl).validateGuestOsIdForUpdateVirtualMachineCommand(updateVmCommand);
Mockito.verify(accountManager).checkAccess(callerAccount, null, true, userVmVoMock);
}
Reusable Method for MCI (click to expand)
private static CallContext createMockCallContext(Account accountMock) {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
return callContextMock;
}
Test Case ID #cloudstack_Test_35_2
Test Case Name: testResetVMUserDataVMStateNotStopped(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: callContextMock
Suggested Diff
@@
public void testResetVMUserDataVMStateNotStopped() {
- CallContext callContextMock = Mockito.mock(CallContext.class);
- Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
+ CallContext callContextMock = createMockCallContext(accountMock);
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVoMock);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(userVmVoMock.getTemplateId()).thenReturn(2L);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(userVmVoMock.getState()).thenReturn(VirtualMachine.State.Running);
try {
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
@PrepareForTest(CallContext.class)
public void testResetVMUserDataVMStateNotStopped() {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVoMock);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(userVmVoMock.getTemplateId()).thenReturn(2L);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(userVmVoMock.getState()).thenReturn(VirtualMachine.State.Running);
try {
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
}
Reusable Method for MCI (click to expand)
private static CallContext createMockCallContext(Account accountMock) {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
return callContextMock;
}
Test Case ID #cloudstack_Test_35_3
Test Case Name: testResetVMUserDataDontAcceptBothUserdataAndUserdataId(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: callContextMock
Suggested Diff
@@
public void testResetVMUserDataDontAcceptBothUserdataAndUserdataId() {
- CallContext callContextMock = Mockito.mock(CallContext.class);
- Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
+ CallContext callContextMock = createMockCallContext(accountMock);
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVoMock);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(userVmVoMock.getTemplateId()).thenReturn(2L);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(userVmVoMock.getState()).thenReturn(VirtualMachine.State.Stopped);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getUserdataId()).thenReturn(1L);
try {
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
@PrepareForTest(CallContext.class)
public void testResetVMUserDataDontAcceptBothUserdataAndUserdataId() {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVoMock);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(userVmVoMock.getTemplateId()).thenReturn(2L);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(userVmVoMock.getState()).thenReturn(VirtualMachine.State.Stopped);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getUserdataId()).thenReturn(1L);
try {
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
}
Reusable Method for MCI (click to expand)
private static CallContext createMockCallContext(Account accountMock) {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
return callContextMock;
}
Test Case ID #cloudstack_Test_35_4
Test Case Name: testResetVMUserDataSuccessResetWithUserdata(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: callContextMock
Suggested Diff
@@
public void testResetVMUserDataSuccessResetWithUserdata() {
- CallContext callContextMock = Mockito.mock(CallContext.class);
- Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
+ CallContext callContextMock = createMockCallContext(accountMock);
UserVmVO userVmVO = new UserVmVO();
userVmVO.setTemplateId(2L);
userVmVO.setState(VirtualMachine.State.Stopped);
userVmVO.setUserDataId(100L);
userVmVO.setUserData("RandomUserdata");
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVO);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(template.getUserDataId()).thenReturn(null);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getUserdataId()).thenReturn(null);
when(cmd.getHttpMethod()).thenReturn(HTTPMethod.GET);
try {
doNothing().when(userVmManagerImpl).updateUserData(userVmVO);
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
Assert.assertEquals("testUserdata", userVmVO.getUserData());
Assert.assertEquals(null, userVmVO.getUserDataId());
}
Original Test Code (click to expand)
@Test
@PrepareForTest(CallContext.class)
public void testResetVMUserDataSuccessResetWithUserdata() {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
UserVmVO userVmVO = new UserVmVO();
userVmVO.setTemplateId(2L);
userVmVO.setState(VirtualMachine.State.Stopped);
userVmVO.setUserDataId(100L);
userVmVO.setUserData("RandomUserdata");
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVO);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(template.getUserDataId()).thenReturn(null);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getUserdataId()).thenReturn(null);
when(cmd.getHttpMethod()).thenReturn(HTTPMethod.GET);
try {
doNothing().when(userVmManagerImpl).updateUserData(userVmVO);
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
Assert.assertEquals("testUserdata", userVmVO.getUserData());
Assert.assertEquals(null, userVmVO.getUserDataId());
}
Reusable Method for MCI (click to expand)
private static CallContext createMockCallContext(Account accountMock) {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
return callContextMock;
}
Test Case ID #cloudstack_Test_35_5
Test Case Name: testResetVMUserDataSuccessResetWithUserdataId(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: callContextMock
Suggested Diff
@@
public void testResetVMUserDataSuccessResetWithUserdataId() {
- CallContext callContextMock = Mockito.mock(CallContext.class);
- Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
+ CallContext callContextMock = createMockCallContext(accountMock);
UserVmVO userVmVO = new UserVmVO();
userVmVO.setTemplateId(2L);
userVmVO.setState(VirtualMachine.State.Stopped);
userVmVO.setUserDataId(100L);
userVmVO.setUserData("RandomUserdata");
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVO);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(template.getUserDataId()).thenReturn(null);
when(cmd.getUserdataId()).thenReturn(1L);
UserDataVO apiUserDataVO = Mockito.mock(UserDataVO.class);
when(userDataDao.findById(1L)).thenReturn(apiUserDataVO);
when(apiUserDataVO.getUserData()).thenReturn("testUserdata");
when(cmd.getHttpMethod()).thenReturn(HTTPMethod.GET);
try {
doNothing().when(userVmManagerImpl).updateUserData(userVmVO);
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
Assert.assertEquals("testUserdata", userVmVO.getUserData());
Assert.assertEquals(1L, (long) userVmVO.getUserDataId());
}
Original Test Code (click to expand)
@Test
@PrepareForTest(CallContext.class)
public void testResetVMUserDataSuccessResetWithUserdataId() {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
UserVmVO userVmVO = new UserVmVO();
userVmVO.setTemplateId(2L);
userVmVO.setState(VirtualMachine.State.Stopped);
userVmVO.setUserDataId(100L);
userVmVO.setUserData("RandomUserdata");
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVO);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(template.getUserDataId()).thenReturn(null);
when(cmd.getUserdataId()).thenReturn(1L);
UserDataVO apiUserDataVO = Mockito.mock(UserDataVO.class);
when(userDataDao.findById(1L)).thenReturn(apiUserDataVO);
when(apiUserDataVO.getUserData()).thenReturn("testUserdata");
when(cmd.getHttpMethod()).thenReturn(HTTPMethod.GET);
try {
doNothing().when(userVmManagerImpl).updateUserData(userVmVO);
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
Assert.assertEquals("testUserdata", userVmVO.getUserData());
Assert.assertEquals(1L, (long) userVmVO.getUserDataId());
}
Reusable Method for MCI (click to expand)
private static CallContext createMockCallContext(Account accountMock) {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
return callContextMock;
}
Mock Clone Instance #cloudstack_MCI_36
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.DataTO
- Test Case Count: 5
- MO Count: 7
Reusable Method
private static DataTO createMockDataTO(DataStoreTO dataStoreReturn, DataObjectType objectTypeReturn) {
DataTO dataTOMock = Mockito.mock(DataTO.class);
Mockito.when(dataTOMock.getDataStore()).thenReturn(dataStoreReturn);
Mockito.when(dataTOMock.getObjectType()).thenReturn(objectTypeReturn);
return dataTOMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_36_1
Test Case Name: beforeTest(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\XenServerGuruTest.java)
Mock Object Variable Name: sourceDataMock
Suggested Diff
@@
@Before
public void beforeTest() {
- Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(copyCommandMock.getSrcTO()).thenReturn(sourceDataMock);
Mockito.when(copyCommandMock.getDestTO()).thenReturn(destinationDataMock);
Mockito.when(changedHost.getId()).thenReturn(changedHostId);
Mockito.lenient().when(defaultHost.getId()).thenReturn(defaultHostId);
Mockito.when(defaultHost.getDataCenterId()).thenReturn(zoneId);
Mockito.when(hostDaoMock.findById(defaultHostId)).thenReturn(defaultHost);
Mockito.lenient().when(hostDaoMock.findById(changedHostId)).thenReturn(changedHost);
}
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
- Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
}
private void configureSourceHypervisorAsXenServerAndSourceTypeAsSnapshotAndDestinationTypeAsTemplate() {
- Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
- Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.TEMPLATE);
}
@Test
public void testSomething() {
- Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
+ // sourceDataMock is configured in test setup or helper as needed
// ... rest of test code ...
}
Original Test Code (click to expand)
@Before
public void beforeTest() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(copyCommandMock.getSrcTO()).thenReturn(sourceDataMock);
Mockito.when(copyCommandMock.getDestTO()).thenReturn(destinationDataMock);
Mockito.when(changedHost.getId()).thenReturn(changedHostId);
Mockito.lenient().when(defaultHost.getId()).thenReturn(defaultHostId);
Mockito.when(defaultHost.getDataCenterId()).thenReturn(zoneId);
Mockito.when(hostDaoMock.findById(defaultHostId)).thenReturn(defaultHost);
Mockito.lenient().when(hostDaoMock.findById(changedHostId)).thenReturn(changedHost);
}
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
}
private void configureSourceHypervisorAsXenServerAndSourceTypeAsSnapshotAndDestinationTypeAsTemplate() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.TEMPLATE);
}
Reusable Method for MCI (click to expand)
private static DataTO createMockDataTO(DataStoreTO dataStoreReturn, DataObjectType objectTypeReturn) {
DataTO dataTOMock = Mockito.mock(DataTO.class);
Mockito.when(dataTOMock.getDataStore()).thenReturn(dataStoreReturn);
Mockito.when(dataTOMock.getObjectType()).thenReturn(objectTypeReturn);
return dataTOMock;
}
Test Case ID #cloudstack_Test_36_2
Test Case Name: getCommandHostDelegationTestCommandIsCopyCommandButSourceDataHypervisorIsNotXenServer(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\XenServerGuruTest.java)
Mock Object Variable Name: sourceDataMock
Suggested Diff
@@
@Test
public void getCommandHostDelegationTestCommandIsCopyCommandButSourceDataHypervisorIsNotXenServer() {
- Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.Any);
+ Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.Any);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
@@
Original Test Code (click to expand)
@Test
public void getCommandHostDelegationTestCommandIsCopyCommandButSourceDataHypervisorIsNotXenServer() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.Any);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
}
private void configureSourceHypervisorAsXenServerAndSourceTypeAsSnapshotAndDestinationTypeAsTemplate() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.TEMPLATE);
}
Reusable Method for MCI (click to expand)
private static DataTO createMockDataTO(DataStoreTO dataStoreReturn, DataObjectType objectTypeReturn) {
DataTO dataTOMock = Mockito.mock(DataTO.class);
Mockito.when(dataTOMock.getDataStore()).thenReturn(dataStoreReturn);
Mockito.when(dataTOMock.getObjectType()).thenReturn(objectTypeReturn);
return dataTOMock;
}
Test Case ID #cloudstack_Test_36_3
Test Case Name: getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerButSourceAndDestinationAreNotNfsObjects(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\XenServerGuruTest.java)
Mock Object Variable Name: sourceDataMock
Suggested Diff
@@
@Test
public void getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerButSourceAndDestinationAreNotNfsObjects() {
- Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(DataStoreTO.class));
+ sourceDataMock = createMockDataTO(Mockito.mock(DataStoreTO.class), null);
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(DataStoreTO.class));
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
@@
Original Test Code (click to expand)
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
}
private void configureSourceHypervisorAsXenServerAndSourceTypeAsSnapshotAndDestinationTypeAsTemplate() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.TEMPLATE);
}
@Test
public void getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerButSourceAndDestinationAreNotNfsObjects() {
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(DataStoreTO.class));
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(DataStoreTO.class));
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
Reusable Method for MCI (click to expand)
private static DataTO createMockDataTO(DataStoreTO dataStoreReturn, DataObjectType objectTypeReturn) {
DataTO dataTOMock = Mockito.mock(DataTO.class);
Mockito.when(dataTOMock.getDataStore()).thenReturn(dataStoreReturn);
Mockito.when(dataTOMock.getObjectType()).thenReturn(objectTypeReturn);
return dataTOMock;
}
Test Case ID #cloudstack_Test_36_4
Test Case Name: getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerAndSourceAndDestinationAreNfsObjectsButSourceIsNotSnapshotType(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\XenServerGuruTest.java)
Mock Object Variable Name: sourceDataMock
Suggested Diff
@@
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
- Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
+ sourceDataMock = createMockDataTO(Mockito.mock(NfsTO.class), sourceDataMock.getObjectType());
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
}
@@
public void getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerAndSourceAndDestinationAreNfsObjectsButSourceIsNotSnapshotType() {
configureSourceAndDestinationDataMockDataStoreAsNfsToType();
- Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
- Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.VOLUME);
+ Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
+ Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.VOLUME);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
@@
Original Test Code (click to expand)
@Test
public void getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerAndSourceAndDestinationAreNfsObjectsButSourceIsNotSnapshotType() {
configureSourceAndDestinationDataMockDataStoreAsNfsToType();
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.VOLUME);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
}
private void configureSourceHypervisorAsXenServerAndSourceTypeAsSnapshotAndDestinationTypeAsTemplate() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.TEMPLATE);
}
Reusable Method for MCI (click to expand)
private static DataTO createMockDataTO(DataStoreTO dataStoreReturn, DataObjectType objectTypeReturn) {
DataTO dataTOMock = Mockito.mock(DataTO.class);
Mockito.when(dataTOMock.getDataStore()).thenReturn(dataStoreReturn);
Mockito.when(dataTOMock.getObjectType()).thenReturn(objectTypeReturn);
return dataTOMock;
}
Test Case ID #cloudstack_Test_36_5
Test Case Name: getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerAndSourceAndDestinationAreNfsObjectsAndSourceIsSnapshotTypeButDestinationIsNotTemplateType(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\XenServerGuruTest.java)
Mock Object Variable Name: sourceDataMock
Suggested Diff
@@
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
- Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
+ sourceDataMock = createMockDataTO(Mockito.mock(NfsTO.class), sourceDataMock.getObjectType());
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
}
private void configureSourceHypervisorAsXenServerAndSourceTypeAsSnapshotAndDestinationTypeAsTemplate() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
- Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
+ sourceDataMock = createMockDataTO(sourceDataMock.getDataStore(), DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.TEMPLATE);
}
@Test
public void getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerAndSourceAndDestinationAreNfsObjectsAndSourceIsSnapshotTypeButDestinationIsNotTemplateType() {
configureSourceAndDestinationDataMockDataStoreAsNfsToType();
- Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
- Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
+ Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
+ sourceDataMock = createMockDataTO(sourceDataMock.getDataStore(), DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.VOLUME);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
Original Test Code (click to expand)
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
}
private void configureSourceHypervisorAsXenServerAndSourceTypeAsSnapshotAndDestinationTypeAsTemplate() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.TEMPLATE);
}
@Test
public void getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerAndSourceAndDestinationAreNfsObjectsAndSourceIsSnapshotTypeButDestinationIsNotTemplateType() {
configureSourceAndDestinationDataMockDataStoreAsNfsToType();
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.VOLUME);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
Reusable Method for MCI (click to expand)
private static DataTO createMockDataTO(DataStoreTO dataStoreReturn, DataObjectType objectTypeReturn) {
DataTO dataTOMock = Mockito.mock(DataTO.class);
Mockito.when(dataTOMock.getDataStore()).thenReturn(dataStoreReturn);
Mockito.when(dataTOMock.getObjectType()).thenReturn(objectTypeReturn);
return dataTOMock;
}
Test Case ID #cloudstack_Test_36_6
Test Case Name: getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerButSourceAndDestinationAreNotNfsObjects(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\XenServerGuruTest.java)
Mock Object Variable Name: destinationDataMock
Suggested Diff
@@
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(DataStoreTO.class));
- Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(DataStoreTO.class));
+ destinationDataMock = createMockDataTO(Mockito.mock(DataStoreTO.class), null);
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
@@
Original Test Code (click to expand)
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
}
private void configureSourceHypervisorAsXenServerAndSourceTypeAsSnapshotAndDestinationTypeAsTemplate() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.TEMPLATE);
}
@Test
public void getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerButSourceAndDestinationAreNotNfsObjects() {
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(DataStoreTO.class));
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(DataStoreTO.class));
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
Reusable Method for MCI (click to expand)
private static DataTO createMockDataTO(DataStoreTO dataStoreReturn, DataObjectType objectTypeReturn) {
DataTO dataTOMock = Mockito.mock(DataTO.class);
Mockito.when(dataTOMock.getDataStore()).thenReturn(dataStoreReturn);
Mockito.when(dataTOMock.getObjectType()).thenReturn(objectTypeReturn);
return dataTOMock;
}
Test Case ID #cloudstack_Test_36_7
Test Case Name: getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerAndSourceAndDestinationAreNfsObjectsAndSourceIsSnapshotTypeButDestinationIsNotTemplateType(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\XenServerGuruTest.java)
Mock Object Variable Name: destinationDataMock
Suggested Diff
@@
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
- Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
+ destinationDataMock = createMockDataTO(Mockito.mock(NfsTO.class), destinationDataMock.getObjectType());
}
private void configureSourceHypervisorAsXenServerAndSourceTypeAsSnapshotAndDestinationTypeAsTemplate() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
- Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.TEMPLATE);
+ destinationDataMock = createMockDataTO(destinationDataMock.getDataStore(), DataObjectType.TEMPLATE);
}
@Test
public void getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerAndSourceAndDestinationAreNfsObjectsAndSourceIsSnapshotTypeButDestinationIsNotTemplateType() {
configureSourceAndDestinationDataMockDataStoreAsNfsToType();
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
- Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.VOLUME);
+ destinationDataMock = createMockDataTO(destinationDataMock.getDataStore(), DataObjectType.VOLUME);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
Original Test Code (click to expand)
private void configureSourceAndDestinationDataMockDataStoreAsNfsToType() {
Mockito.when(sourceDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
Mockito.when(destinationDataMock.getDataStore()).thenReturn(Mockito.mock(NfsTO.class));
}
private void configureSourceHypervisorAsXenServerAndSourceTypeAsSnapshotAndDestinationTypeAsTemplate() {
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.TEMPLATE);
}
@Test
public void getCommandHostDelegationTestCommandIsCopyCommandAndSourceDataHypervisorIsXenServerAndSourceAndDestinationAreNfsObjectsAndSourceIsSnapshotTypeButDestinationIsNotTemplateType() {
configureSourceAndDestinationDataMockDataStoreAsNfsToType();
Mockito.when(sourceDataMock.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Mockito.when(sourceDataMock.getObjectType()).thenReturn(DataObjectType.SNAPSHOT);
Mockito.when(destinationDataMock.getObjectType()).thenReturn(DataObjectType.VOLUME);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommandMock);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
}
Reusable Method for MCI (click to expand)
private static DataTO createMockDataTO(DataStoreTO dataStoreReturn, DataObjectType objectTypeReturn) {
DataTO dataTOMock = Mockito.mock(DataTO.class);
Mockito.when(dataTOMock.getDataStore()).thenReturn(dataStoreReturn);
Mockito.when(dataTOMock.getObjectType()).thenReturn(objectTypeReturn);
return dataTOMock;
}
Mock Clone Instance #cloudstack_MCI_37
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.DataTO
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static DataTO createMockDataTO(HypervisorType hypervisorType) {
DataTO dataTO = Mockito.mock(DataTO.class);
Mockito.when(dataTO.getHypervisorType()).thenReturn(hypervisorType);
return dataTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_37_1
Test Case Name: getCommandHostDelegationTestCommandIsStorageSubSystemCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\XenServerGuruTest.java)
Mock Object Variable Name: srcData
Suggested Diff
@@
CopyCommand copyCommand = Mockito.mock(CopyCommand.class);
- DataTO srcData = Mockito.mock(DataTO.class);
+ DataTO srcData = createMockDataTO(HypervisorType.XenServer);
DataTO dstData = Mockito.mock(DataTO.class);
Mockito.when(copyCommand.getSrcTO()).thenReturn(srcData);
Mockito.when(copyCommand.getDestTO()).thenReturn(dstData);
- Mockito.when(srcData.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommand);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
Mockito.verify(copyCommand).setExecuteInSequence(true);
@@
Original Test Code (click to expand)
@Test
public void getCommandHostDelegationTestCommandIsStorageSubSystemCommand() {
CopyCommand copyCommand = Mockito.mock(CopyCommand.class);
DataTO srcData = Mockito.mock(DataTO.class);
DataTO dstData = Mockito.mock(DataTO.class);
Mockito.when(copyCommand.getSrcTO()).thenReturn(srcData);
Mockito.when(copyCommand.getDestTO()).thenReturn(dstData);
Mockito.when(srcData.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommand);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
Mockito.verify(copyCommand).setExecuteInSequence(true);
}
Reusable Method for MCI (click to expand)
private static DataTO createMockDataTO(HypervisorType hypervisorType) {
DataTO dataTO = Mockito.mock(DataTO.class);
Mockito.when(dataTO.getHypervisorType()).thenReturn(hypervisorType);
return dataTO;
}
Test Case ID #cloudstack_Test_37_2
Test Case Name: getCommandHostDelegationTestCommandIsNotForXenHypervisor(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\XenServerGuruTest.java)
Mock Object Variable Name: srcData
Suggested Diff
@@
CopyCommand copyCommand = Mockito.mock(CopyCommand.class);
- DataTO srcData = Mockito.mock(DataTO.class);
+ DataTO srcData = createMockDataTO(HypervisorType.Any);
Mockito.when(copyCommand.getSrcTO()).thenReturn(srcData);
- Mockito.when(srcData.getHypervisorType()).thenReturn(HypervisorType.Any);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommand);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
Mockito.verify(copyCommand, times(0)).setExecuteInSequence(true);
@@
Original Test Code (click to expand)
@Test
public void getCommandHostDelegationTestCommandIsNotForXenHypervisor() {
CopyCommand copyCommand = Mockito.mock(CopyCommand.class);
DataTO srcData = Mockito.mock(DataTO.class);
Mockito.when(copyCommand.getSrcTO()).thenReturn(srcData);
Mockito.when(srcData.getHypervisorType()).thenReturn(HypervisorType.Any);
Pair<Boolean, Long> pairHostToExecuteCommand = xenServerGuru.getCommandHostDelegation(defaultHostId, copyCommand);
assertPairOfHostToExecuteCommandIsTheDefaultHostId(pairHostToExecuteCommand);
Mockito.verify(copyCommand, times(0)).setExecuteInSequence(true);
}
Reusable Method for MCI (click to expand)
private static DataTO createMockDataTO(HypervisorType hypervisorType) {
DataTO dataTO = Mockito.mock(DataTO.class);
Mockito.when(dataTO.getHypervisorType()).thenReturn(hypervisorType);
return dataTO;
}
Mock Clone Instance #cloudstack_MCI_38
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 7
- MO Count: 7
Reusable Method
private static Network createMockNetwork(String cidr) {
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(cidr).when(networkMock).getCidr();
return networkMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_38_1
Test Case Name: validateCidrsTestValidCidrs(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\firewall\CreateEgressFirewallRuleCmdTest.java)
Mock Object Variable Name: networkMock
Suggested Diff
@@
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
- Network networkMock = Mockito.mock(Network.class);
- Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
- Mockito.doReturn(cidrMock).when(networkMock).getCidr();
+ Network networkMock = createMockNetwork(cidrMock);
+ Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(cidrMock)).thenReturn(true);
PowerMockito.when(NetUtils.isValidIp6Cidr(cidrMock)).thenReturn(false);
PowerMockito.when(NetUtils.isNetworkAWithinNetworkB(cidrMock, cidrMock)).thenReturn(true);
cmdMock.validateCidrs();
Mockito.verify(cmdMock, Mockito.atLeast(2)).getSourceCidrList();
Mockito.verify(cmdMock).getNetworkId();
Mockito.verify(networkServiceMock).getNetwork(networkIdMock);
Mockito.verify(networkMock).getCidr();
PowerMockito.verifyStatic(NetUtils.class, Mockito.times(2));
NetUtils.isValidIp4Cidr(cidrMock);
NetUtils.isValidIp6Cidr(cidrMock);
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isNetworkAWithinNetworkB(cidrMock, cidrMock);
@@
Original Test Code (click to expand)
@Test
public void validateCidrsTestValidCidrs() {
ArrayList<String> listMock = new ArrayList<>();
String cidrMock = "10.1.1.0/24";
listMock.add(cidrMock);
cmdMock.setSourceCidrList(listMock);
cmdMock.setDestCidrList(listMock);
long networkIdMock = 1234;
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
Mockito.doReturn(cidrMock).when(networkMock).getCidr();
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(cidrMock)).thenReturn(true);
PowerMockito.when(NetUtils.isValidIp6Cidr(cidrMock)).thenReturn(false);
PowerMockito.when(NetUtils.isNetworkAWithinNetworkB(cidrMock, cidrMock)).thenReturn(true);
cmdMock.validateCidrs();
Mockito.verify(cmdMock, Mockito.atLeast(2)).getSourceCidrList();
Mockito.verify(cmdMock).getNetworkId();
Mockito.verify(networkServiceMock).getNetwork(networkIdMock);
Mockito.verify(networkMock).getCidr();
PowerMockito.verifyStatic(NetUtils.class, Mockito.times(2));
NetUtils.isValidIp4Cidr(cidrMock);
NetUtils.isValidIp6Cidr(cidrMock);
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isNetworkAWithinNetworkB(cidrMock, cidrMock);
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(String cidr) {
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(cidr).when(networkMock).getCidr();
return networkMock;
}
Test Case ID #cloudstack_Test_38_2
Test Case Name: validateCidrsTestCidrsBeginningWithWhiteSpace(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\firewall\CreateEgressFirewallRuleCmdTest.java)
Mock Object Variable Name: networkMock
Suggested Diff
@@
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
- Network networkMock = Mockito.mock(Network.class);
- Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
- Mockito.doReturn("10.1.1.0/24").when(networkMock).getCidr();
+ Network networkMock = createMockNetwork("10.1.1.0/24");
+ Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(Mockito.eq("10.1.1.0/24"))).thenReturn(true);
@@
Original Test Code (click to expand)
@Test
public void validateCidrsTestCidrsBeginningWithWhiteSpace() {
ArrayList<String> listMock = new ArrayList<>();
String cidrMock = " 10.1.1.0/24";
listMock.add(cidrMock);
cmdMock.setSourceCidrList(listMock);
cmdMock.setDestCidrList(listMock);
long networkIdMock = 1234;
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
Mockito.doReturn("10.1.1.0/24").when(networkMock).getCidr();
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(Mockito.eq("10.1.1.0/24"))).thenReturn(true);
PowerMockito.when(NetUtils.isValidIp6Cidr(Mockito.eq("10.1.1.0/24"))).thenReturn(false);
PowerMockito.when(NetUtils.isNetworkAWithinNetworkB(Mockito.eq("10.1.1.0/24"), Mockito.eq("10.1.1.0/24"))).thenReturn(true);
cmdMock.validateCidrs();
Mockito.verify(cmdMock, Mockito.atLeast(2)).getSourceCidrList();
Mockito.verify(cmdMock).getNetworkId();
Mockito.verify(networkServiceMock).getNetwork(networkIdMock);
Mockito.verify(networkMock).getCidr();
PowerMockito.verifyStatic(NetUtils.class, Mockito.times(2));
NetUtils.isValidIp4Cidr(Mockito.eq("10.1.1.0/24"));
NetUtils.isValidIp6Cidr(Mockito.eq("10.1.1.0/24"));
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isNetworkAWithinNetworkB(Mockito.eq("10.1.1.0/24"), Mockito.eq("10.1.1.0/24"));
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(String cidr) {
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(cidr).when(networkMock).getCidr();
return networkMock;
}
Test Case ID #cloudstack_Test_38_3
Test Case Name: validateCidrsTestInvalidSourceCidr(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\firewall\CreateEgressFirewallRuleCmdTest.java)
Mock Object Variable Name: networkMock
Suggested Diff
@@
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
- Network networkMock = Mockito.mock(Network.class);
- Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
- Mockito.doReturn("10.1.1.0/24").when(networkMock).getCidr();
+ Network networkMock = createMockNetwork("10.1.1.0/24");
+ Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(sourceCidrMock)).thenReturn(false);
@@
Original Test Code (click to expand)
@Test(expected = ServerApiException.class)
public void validateCidrsTestInvalidSourceCidr() {
ArrayList<String> listMock = new ArrayList<>();
String sourceCidrMock = "aaaa";
listMock.add(sourceCidrMock);
cmdMock.setSourceCidrList(listMock);
cmdMock.setDestCidrList(listMock);
long networkIdMock = 1234;
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
Mockito.doReturn("10.1.1.0/24").when(networkMock).getCidr();
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(sourceCidrMock)).thenReturn(false);
PowerMockito.when(NetUtils.isValidIp6Cidr(sourceCidrMock)).thenReturn(false);
cmdMock.validateCidrs();
Mockito.verify(cmdMock, Mockito.atLeast(2)).getSourceCidrList();
Mockito.verify(cmdMock).getNetworkId();
Mockito.verify(networkServiceMock).getNetwork(networkIdMock);
Mockito.verify(networkMock).getCidr();
PowerMockito.verifyStatic(NetUtils.class, Mockito.times(1));
NetUtils.isValidIp4Cidr(sourceCidrMock);
NetUtils.isValidIp6Cidr(sourceCidrMock);
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(String cidr) {
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(cidr).when(networkMock).getCidr();
return networkMock;
}
Test Case ID #cloudstack_Test_38_4
Test Case Name: validateCidrsTestInvalidDestinationCidr(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\firewall\CreateEgressFirewallRuleCmdTest.java)
Mock Object Variable Name: networkMock
Suggested Diff
@@
long networkIdMock = 1234;
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
- Network networkMock = Mockito.mock(Network.class);
+ Network networkMock = createMockNetwork(sourceCidrMock);
Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
- Mockito.doReturn(sourceCidrMock).when(networkMock).getCidr();
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(Mockito.eq(sourceCidrMock))).thenReturn(true);
@@
Original Test Code (click to expand)
@Test(expected = ServerApiException.class)
public void validateCidrsTestInvalidDestinationCidr() {
ArrayList<String> listSourceMock = new ArrayList<>();
String sourceCidrMock = "10.1.1.0/24";
listSourceMock.add(sourceCidrMock);
cmdMock.setSourceCidrList(listSourceMock);
ArrayList<String> listDestMock = new ArrayList<>();
String destCidrMock = "aaaa";
listDestMock.add(destCidrMock);
cmdMock.setDestCidrList(listDestMock);
long networkIdMock = 1234;
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
Mockito.doReturn(sourceCidrMock).when(networkMock).getCidr();
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(Mockito.eq(sourceCidrMock))).thenReturn(true);
PowerMockito.when(NetUtils.isValidIp6Cidr(Mockito.eq(sourceCidrMock))).thenReturn(false);
PowerMockito.when(NetUtils.isNetworkAWithinNetworkB(sourceCidrMock, sourceCidrMock)).thenReturn(true);
PowerMockito.when(NetUtils.isValidIp4Cidr(Mockito.eq(destCidrMock))).thenReturn(false);
PowerMockito.when(NetUtils.isValidIp6Cidr(Mockito.eq(destCidrMock))).thenReturn(false);
cmdMock.validateCidrs();
Mockito.verify(cmdMock, Mockito.atLeast(2)).getSourceCidrList();
Mockito.verify(cmdMock).getNetworkId();
Mockito.verify(networkServiceMock).getNetwork(networkIdMock);
Mockito.verify(networkMock).getCidr();
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isValidIp4Cidr(sourceCidrMock);
NetUtils.isValidIp6Cidr(sourceCidrMock);
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isNetworkAWithinNetworkB(sourceCidrMock, sourceCidrMock);
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isValidIp4Cidr(destCidrMock);
NetUtils.isValidIp6Cidr(destCidrMock);
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(String cidr) {
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(cidr).when(networkMock).getCidr();
return networkMock;
}
Test Case ID #cloudstack_Test_38_5
Test Case Name: validateCidrsTestSourceCidrEqualsAllIp4(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\firewall\CreateEgressFirewallRuleCmdTest.java)
Mock Object Variable Name: networkMock
Suggested Diff
@@
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
- Network networkMock = Mockito.mock(Network.class);
- Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
- Mockito.doReturn(sourceCidrMock).when(networkMock).getCidr();
+ Network networkMock = createMockNetwork(sourceCidrMock);
+ Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(Mockito.eq(sourceCidrMock))).thenReturn(true);
@@
Original Test Code (click to expand)
@Test
public void validateCidrsTestSourceCidrEqualsAllIp4() {
ArrayList<String> listSourceMock = new ArrayList<>();
String sourceCidrMock = "0.0.0.0/0";
listSourceMock.add(sourceCidrMock);
cmdMock.setSourceCidrList(listSourceMock);
ArrayList<String> listDestMock = new ArrayList<>();
String destCidrMock = "10.1.1.0/24";
listDestMock.add(destCidrMock);
cmdMock.setDestCidrList(listDestMock);
long networkIdMock = 1234;
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
Mockito.doReturn(sourceCidrMock).when(networkMock).getCidr();
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(Mockito.eq(sourceCidrMock))).thenReturn(true);
PowerMockito.when(NetUtils.isValidIp6Cidr(Mockito.eq(sourceCidrMock))).thenReturn(false);
PowerMockito.when(NetUtils.isValidIp4Cidr(Mockito.eq(destCidrMock))).thenReturn(true);
PowerMockito.when(NetUtils.isValidIp6Cidr(Mockito.eq(destCidrMock))).thenReturn(false);
cmdMock.validateCidrs();
Mockito.verify(cmdMock, Mockito.atLeast(2)).getSourceCidrList();
Mockito.verify(cmdMock).getNetworkId();
Mockito.verify(networkServiceMock).getNetwork(networkIdMock);
Mockito.verify(networkMock).getCidr();
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isValidIp4Cidr(sourceCidrMock);
NetUtils.isValidIp6Cidr(sourceCidrMock);
PowerMockito.verifyStatic(NetUtils.class, Mockito.never());
NetUtils.isNetworkAWithinNetworkB(sourceCidrMock, sourceCidrMock);
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isValidIp4Cidr(destCidrMock);
NetUtils.isValidIp6Cidr(destCidrMock);
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(String cidr) {
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(cidr).when(networkMock).getCidr();
return networkMock;
}
Test Case ID #cloudstack_Test_38_6
Test Case Name: validateCidrsTestSourceCidrNotWithinNetwork(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\firewall\CreateEgressFirewallRuleCmdTest.java)
Mock Object Variable Name: networkMock
Suggested Diff
@@
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
- Network networkMock = Mockito.mock(Network.class);
+ Network networkMock = createMockNetwork(cidrMock);
Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
- Mockito.doReturn(cidrMock).when(networkMock).getCidr();
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(cidrMock)).thenReturn(true);
@@
Original Test Code (click to expand)
@Test(expected = ServerApiException.class)
public void validateCidrsTestSourceCidrNotWithinNetwork() {
ArrayList<String> listMock = new ArrayList<>();
String cidrMock = "10.1.1.0/24";
listMock.add(cidrMock);
cmdMock.setSourceCidrList(listMock);
cmdMock.setDestCidrList(listMock);
long networkIdMock = 1234;
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
Mockito.doReturn(cidrMock).when(networkMock).getCidr();
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(cidrMock)).thenReturn(true);
PowerMockito.when(NetUtils.isValidIp6Cidr(cidrMock)).thenReturn(false);
PowerMockito.when(NetUtils.isNetworkAWithinNetworkB(cidrMock, cidrMock)).thenReturn(false);
cmdMock.validateCidrs();
Mockito.verify(cmdMock, Mockito.atLeast(2)).getSourceCidrList();
Mockito.verify(cmdMock).getNetworkId();
Mockito.verify(networkServiceMock).getNetwork(networkIdMock);
Mockito.verify(networkMock).getCidr();
PowerMockito.verifyStatic(NetUtils.class, Mockito.times(1));
NetUtils.isValidIp4Cidr(cidrMock);
NetUtils.isValidIp6Cidr(cidrMock);
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isNetworkAWithinNetworkB(cidrMock, cidrMock);
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(String cidr) {
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(cidr).when(networkMock).getCidr();
return networkMock;
}
Test Case ID #cloudstack_Test_38_7
Test Case Name: validateCidrsTestNullDestinationCidr(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\firewall\CreateEgressFirewallRuleCmdTest.java)
Mock Object Variable Name: networkMock
Suggested Diff
@@
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
- Network networkMock = Mockito.mock(Network.class);
- Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
- Mockito.doReturn(sourceCidrMock).when(networkMock).getCidr();
+ Network networkMock = createMockNetwork(sourceCidrMock);
+ Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(Mockito.eq(sourceCidrMock))).thenReturn(true);
@@
Original Test Code (click to expand)
@Test
public void validateCidrsTestNullDestinationCidr() {
ArrayList<String> listSourceMock = new ArrayList<>();
String sourceCidrMock = "10.1.1.0/24";
listSourceMock.add(sourceCidrMock);
cmdMock.setSourceCidrList(listSourceMock);
long networkIdMock = 1234;
Mockito.doReturn(networkIdMock).when(cmdMock).getNetworkId();
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(networkMock).when(networkServiceMock).getNetwork(networkIdMock);
Mockito.doReturn(sourceCidrMock).when(networkMock).getCidr();
PowerMockito.mockStatic(NetUtils.class);
PowerMockito.when(NetUtils.isValidIp4Cidr(Mockito.eq(sourceCidrMock))).thenReturn(true);
PowerMockito.when(NetUtils.isValidIp6Cidr(Mockito.eq(sourceCidrMock))).thenReturn(false);
PowerMockito.when(NetUtils.isNetworkAWithinNetworkB(sourceCidrMock, sourceCidrMock)).thenReturn(true);
cmdMock.validateCidrs();
Mockito.verify(cmdMock, Mockito.atLeast(2)).getSourceCidrList();
Mockito.verify(cmdMock).getNetworkId();
Mockito.verify(networkServiceMock).getNetwork(networkIdMock);
Mockito.verify(networkMock).getCidr();
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isValidIp4Cidr(sourceCidrMock);
NetUtils.isValidIp6Cidr(sourceCidrMock);
PowerMockito.verifyStatic(NetUtils.class);
NetUtils.isNetworkAWithinNetworkB(sourceCidrMock, sourceCidrMock);
PowerMockito.verifyStatic(NetUtils.class, Mockito.never());
NetUtils.isValidIp4Cidr(null);
NetUtils.isValidIp6Cidr(null);
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(String cidr) {
Network networkMock = Mockito.mock(Network.class);
Mockito.doReturn(cidr).when(networkMock).getCidr();
return networkMock;
}
Mock Clone Instance #cloudstack_MCI_39
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static Network createMockNetwork(long vpcId) {
Network networkMock = Mockito.mock(Network.class);
Mockito.when(networkMock.getVpcId()).thenReturn(vpcId);
return networkMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_39_1
Test Case Name: createAclListIfNeededTestAclRuleListIdNullAndNetworkWithVpcAndNotAclListYet(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: networkMock
Suggested Diff
@@
Mockito.when(createNetworkAclCmdMock.getACLId()).thenReturn(null);
long networkId = 1L;
Mockito.when(createNetworkAclCmdMock.getNetworkId()).thenReturn(networkId);
- Network networkMock = Mockito.mock(Network.class);
- Mockito.when(networkMock.getVpcId()).thenReturn(12L);
+ Network networkMock = createMockNetwork(12L);
Mockito.when(networkMock.getNetworkACLId()).thenReturn(null);
Mockito.doReturn(networkMock).when(networkModelMock).getNetwork(networkId);
Long expectedAclListId = 15L;
Mockito.doReturn(expectedAclListId).when(networkAclServiceImpl).createAclListForNetworkAndReturnAclListId(createNetworkAclCmdMock, networkMock);
Long aclIdReturned = networkAclServiceImpl.createAclListIfNeeded(createNetworkAclCmdMock);
Assert.assertEquals(expectedAclListId, aclIdReturned);
Mockito.verify(networkAclServiceImpl).createAclListForNetworkAndReturnAclListId(createNetworkAclCmdMock, networkMock);
@@
Original Test Code (click to expand)
@Test
public void createAclListIfNeededTestAclRuleListIdNullAndNetworkWithVpcAndNotAclListYet() {
Mockito.when(createNetworkAclCmdMock.getACLId()).thenReturn(null);
long networkId = 1L;
Mockito.when(createNetworkAclCmdMock.getNetworkId()).thenReturn(networkId);
Network networkMock = Mockito.mock(Network.class);
Mockito.when(networkMock.getVpcId()).thenReturn(12L);
Mockito.when(networkMock.getNetworkACLId()).thenReturn(null);
Mockito.doReturn(networkMock).when(networkModelMock).getNetwork(networkId);
Long expectedAclListId = 15L;
Mockito.doReturn(expectedAclListId).when(networkAclServiceImpl).createAclListForNetworkAndReturnAclListId(createNetworkAclCmdMock, networkMock);
Long aclIdReturned = networkAclServiceImpl.createAclListIfNeeded(createNetworkAclCmdMock);
Assert.assertEquals(expectedAclListId, aclIdReturned);
Mockito.verify(networkAclServiceImpl).createAclListForNetworkAndReturnAclListId(createNetworkAclCmdMock, networkMock);
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(long vpcId) {
Network networkMock = Mockito.mock(Network.class);
Mockito.when(networkMock.getVpcId()).thenReturn(vpcId);
return networkMock;
}
Test Case ID #cloudstack_Test_39_2
Test Case Name: createAclListIfNeededTestAclRuleListIdNullAndNetworkWithVpcAndAclListAlreadyCreated(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\vpc\NetworkACLServiceImplTest.java)
Mock Object Variable Name: networkMock
Suggested Diff
@@
Mockito.when(createNetworkAclCmdMock.getACLId()).thenReturn(null);
long networkId = 1L;
Mockito.when(createNetworkAclCmdMock.getNetworkId()).thenReturn(networkId);
- Network networkMock = Mockito.mock(Network.class);
- ;
- Mockito.when(networkMock.getVpcId()).thenReturn(12L);
+ Network networkMock = createMockNetwork(12L);
Long expectedAclListId = 15L;
Mockito.when(networkMock.getNetworkACLId()).thenReturn(expectedAclListId);
Mockito.doReturn(networkMock).when(networkModelMock).getNetwork(networkId);
Mockito.doReturn(16L).when(networkAclServiceImpl).createAclListForNetworkAndReturnAclListId(createNetworkAclCmdMock, networkMock);
Long aclIdReturned = networkAclServiceImpl.createAclListIfNeeded(createNetworkAclCmdMock);
Assert.assertEquals(expectedAclListId, aclIdReturned);
Mockito.verify(networkAclServiceImpl, Mockito.times(0)).createAclListForNetworkAndReturnAclListId(createNetworkAclCmdMock, networkMock);
@@
Original Test Code (click to expand)
@Test
public void createAclListIfNeededTestAclRuleListIdNullAndNetworkWithVpcAndAclListAlreadyCreated() {
Mockito.when(createNetworkAclCmdMock.getACLId()).thenReturn(null);
long networkId = 1L;
Mockito.when(createNetworkAclCmdMock.getNetworkId()).thenReturn(networkId);
Network networkMock = Mockito.mock(Network.class);
;
Mockito.when(networkMock.getVpcId()).thenReturn(12L);
Long expectedAclListId = 15L;
Mockito.when(networkMock.getNetworkACLId()).thenReturn(expectedAclListId);
Mockito.doReturn(networkMock).when(networkModelMock).getNetwork(networkId);
Mockito.doReturn(16L).when(networkAclServiceImpl).createAclListForNetworkAndReturnAclListId(createNetworkAclCmdMock, networkMock);
Long aclIdReturned = networkAclServiceImpl.createAclListIfNeeded(createNetworkAclCmdMock);
Assert.assertEquals(expectedAclListId, aclIdReturned);
Mockito.verify(networkAclServiceImpl, Mockito.times(0)).createAclListForNetworkAndReturnAclListId(createNetworkAclCmdMock, networkMock);
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(long vpcId) {
Network networkMock = Mockito.mock(Network.class);
Mockito.when(networkMock.getVpcId()).thenReturn(vpcId);
return networkMock;
}
Mock Clone Instance #cloudstack_MCI_40
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static Network createMockNetwork(long dataCenterIdReturn) {
Network network = Mockito.mock(Network.class);
Mockito.when(network.getDataCenterId()).thenReturn(dataCenterIdReturn);
Mockito.when(network.getVpcId()).thenReturn(null);
return network;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_40_1
Test Case Name: testCheckNetworkIpv6UpgradeForNoIpv6Vlan(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\Ipv6ServiceImplTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
Mockito.when(dataCenterGuestIpv6PrefixDao.listByDataCenterId(Mockito.anyLong())).thenReturn(List.of(Mockito.mock(DataCenterGuestIpv6PrefixVO.class)));
- Network network = Mockito.mock(Network.class);
- Mockito.when(network.getDataCenterId()).thenReturn(zoneId);
- Mockito.when(network.getVpcId()).thenReturn(null);
+ Network network = createMockNetwork(zoneId);
Mockito.when(ipAddressDao.listByAssociatedNetwork(Mockito.anyLong(), Mockito.anyBoolean())).thenReturn(List.of(Mockito.mock(IPAddressVO.class)));
VlanVO vlanVO = Mockito.mock(VlanVO.class);
Mockito.when(vlanVO.getVlanTag()).thenReturn(vlan);
Mockito.when(vlanDao.findById(Mockito.anyLong())).thenReturn(vlanVO);
Mockito.when(vlanDao.listIpv6RangeByZoneIdAndVlanId(Mockito.anyLong(), Mockito.anyString())).thenReturn(new ArrayList<>());
try {
ipv6Service.checkNetworkIpv6Upgrade(network);
Assert.fail("No InsufficientAddressCapacityException");
} catch (InsufficientAddressCapacityException | ResourceAllocationException ignored) {
}
@@
Original Test Code (click to expand)
@Test
public void testCheckNetworkIpv6UpgradeForNoIpv6Vlan() {
final long zoneId = 1L;
Mockito.when(dataCenterGuestIpv6PrefixDao.listByDataCenterId(Mockito.anyLong())).thenReturn(List.of(Mockito.mock(DataCenterGuestIpv6PrefixVO.class)));
Network network = Mockito.mock(Network.class);
Mockito.when(network.getDataCenterId()).thenReturn(zoneId);
Mockito.when(network.getVpcId()).thenReturn(null);
Mockito.when(ipAddressDao.listByAssociatedNetwork(Mockito.anyLong(), Mockito.anyBoolean())).thenReturn(List.of(Mockito.mock(IPAddressVO.class)));
VlanVO vlanVO = Mockito.mock(VlanVO.class);
Mockito.when(vlanVO.getVlanTag()).thenReturn(vlan);
Mockito.when(vlanDao.findById(Mockito.anyLong())).thenReturn(vlanVO);
Mockito.when(vlanDao.listIpv6RangeByZoneIdAndVlanId(Mockito.anyLong(), Mockito.anyString())).thenReturn(new ArrayList<>());
try {
ipv6Service.checkNetworkIpv6Upgrade(network);
Assert.fail("No InsufficientAddressCapacityException");
} catch (InsufficientAddressCapacityException | ResourceAllocationException ignored) {
}
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(long dataCenterIdReturn) {
Network network = Mockito.mock(Network.class);
Mockito.when(network.getDataCenterId()).thenReturn(dataCenterIdReturn);
Mockito.when(network.getVpcId()).thenReturn(null);
return network;
}
Test Case ID #cloudstack_Test_40_2
Test Case Name: testCheckNetworkIpv6UpgradeForNetwork(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\Ipv6ServiceImplTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
Mockito.when(dataCenterGuestIpv6PrefixDao.listByDataCenterId(Mockito.anyLong())).thenReturn(List.of(Mockito.mock(DataCenterGuestIpv6PrefixVO.class)));
- Network network = Mockito.mock(Network.class);
- Mockito.when(network.getDataCenterId()).thenReturn(zoneId);
- Mockito.when(network.getVpcId()).thenReturn(null);
+ Network network = createMockNetwork(zoneId);
Mockito.when(ipAddressDao.listByAssociatedNetwork(Mockito.anyLong(), Mockito.anyBoolean())).thenReturn(List.of(Mockito.mock(IPAddressVO.class)));
VlanVO vlanVO = Mockito.mock(VlanVO.class);
Mockito.when(vlanVO.getVlanTag()).thenReturn(vlan);
Mockito.when(vlanDao.findById(Mockito.anyLong())).thenReturn(vlanVO);
Mockito.when(vlanDao.listIpv6RangeByZoneIdAndVlanId(zoneId, vlan)).thenReturn(List.of(vlanVO));
try {
ipv6Service.checkNetworkIpv6Upgrade(network);
} catch (InsufficientAddressCapacityException | ResourceAllocationException e) {
throw new RuntimeException(e);
}
@@
Original Test Code (click to expand)
@Test
public void testCheckNetworkIpv6UpgradeForNetwork() {
final long zoneId = 1L;
Mockito.when(dataCenterGuestIpv6PrefixDao.listByDataCenterId(Mockito.anyLong())).thenReturn(List.of(Mockito.mock(DataCenterGuestIpv6PrefixVO.class)));
Network network = Mockito.mock(Network.class);
Mockito.when(network.getDataCenterId()).thenReturn(zoneId);
Mockito.when(network.getVpcId()).thenReturn(null);
Mockito.when(ipAddressDao.listByAssociatedNetwork(Mockito.anyLong(), Mockito.anyBoolean())).thenReturn(List.of(Mockito.mock(IPAddressVO.class)));
VlanVO vlanVO = Mockito.mock(VlanVO.class);
Mockito.when(vlanVO.getVlanTag()).thenReturn(vlan);
Mockito.when(vlanDao.findById(Mockito.anyLong())).thenReturn(vlanVO);
Mockito.when(vlanDao.listIpv6RangeByZoneIdAndVlanId(zoneId, vlan)).thenReturn(List.of(vlanVO));
try {
ipv6Service.checkNetworkIpv6Upgrade(network);
} catch (InsufficientAddressCapacityException | ResourceAllocationException e) {
throw new RuntimeException(e);
}
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(long dataCenterIdReturn) {
Network network = Mockito.mock(Network.class);
Mockito.when(network.getDataCenterId()).thenReturn(dataCenterIdReturn);
Mockito.when(network.getVpcId()).thenReturn(null);
return network;
}
Mock Clone Instance #cloudstack_MCI_41
- Scope: class level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockNetwork {
public static Network createMockNetwork(String ip6Gateway) {
Network network = mock(Network.class);
Mockito.when(network.getIp6Gateway()).thenReturn(ip6Gateway);
return network;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_41_1
Test Case Name: setTestIsIpEqualsGatewayOrNetworkOfferingsEmpty(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\IpAddressManagerTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
private Network setTestIsIpEqualsGatewayOrNetworkOfferingsEmpty(long networkOfferingId, String gateway, String ip6Gateway, String cidr, List<Service> services) {
- Network network = mock(Network.class);
- Mockito.when(network.getNetworkOfferingId()).thenReturn(networkOfferingId);
- Mockito.when(network.getGateway()).thenReturn(gateway);
- Mockito.when(network.getIp6Gateway()).thenReturn(ip6Gateway);
- Mockito.when(network.getCidr()).thenReturn(cidr);
+ Network network = MockNetwork.createMockNetwork(ip6Gateway);
+ Mockito.when(network.getNetworkOfferingId()).thenReturn(networkOfferingId);
+ Mockito.when(network.getGateway()).thenReturn(gateway);
+ Mockito.when(network.getCidr()).thenReturn(cidr);
Mockito.doReturn(services).when(networkModel).listNetworkOfferingServices(Mockito.anyLong());
return network;
}
Original Test Code (click to expand)
private Network setTestIsIpEqualsGatewayOrNetworkOfferingsEmpty(long networkOfferingId, String gateway, String ip6Gateway, String cidr, List<Service> services) {
Network network = mock(Network.class);
Mockito.when(network.getNetworkOfferingId()).thenReturn(networkOfferingId);
Mockito.when(network.getGateway()).thenReturn(gateway);
Mockito.when(network.getIp6Gateway()).thenReturn(ip6Gateway);
Mockito.when(network.getCidr()).thenReturn(cidr);
Mockito.doReturn(services).when(networkModel).listNetworkOfferingServices(Mockito.anyLong());
return network;
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(String ip6Gateway) {
Network network = mock(Network.class);
Mockito.when(network.getIp6Gateway()).thenReturn(ip6Gateway);
return network;
}
}
Test Case ID #cloudstack_Test_41_2
Test Case Name: setNICIPv6AddressTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\Ipv6AddressManagerTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
NicProfile nic = new NicProfile();
- Network network = mock(Network.class);
+ Network network = MockNetwork.createMockNetwork("2001:db8:100::1");
DataCenter dc = mock(DataCenter.class);
nic.setMacAddress("1e:00:b1:00:0a:f6");
- Mockito.when(network.getIp6Cidr()).thenReturn("2001:db8:100::/64");
- Mockito.when(network.getIp6Gateway()).thenReturn("2001:db8:100::1");
+ Mockito.when(network.getIp6Cidr()).thenReturn("2001:db8:100::/64");
Mockito.when(networkModel.getNetworkIp6Dns(network, dc)).thenReturn(new Pair<>("2001:db8::53:1", "2001:db8::53:2"));
String expected = "2001:db8:100:0:1c00:b1ff:fe00:af6";
ip6Manager.setNicIp6Address(nic, dc, network);
Assert.assertEquals(expected, nic.getIPv6Address());
@@
Original Test Code (click to expand)
@Test
public void setNICIPv6AddressTest() throws InsufficientAddressCapacityException {
NicProfile nic = new NicProfile();
Network network = mock(Network.class);
DataCenter dc = mock(DataCenter.class);
nic.setMacAddress("1e:00:b1:00:0a:f6");
Mockito.when(network.getIp6Cidr()).thenReturn("2001:db8:100::/64");
Mockito.when(network.getIp6Gateway()).thenReturn("2001:db8:100::1");
Mockito.when(networkModel.getNetworkIp6Dns(network, dc)).thenReturn(new Pair<>("2001:db8::53:1", "2001:db8::53:2"));
String expected = "2001:db8:100:0:1c00:b1ff:fe00:af6";
ip6Manager.setNicIp6Address(nic, dc, network);
Assert.assertEquals(expected, nic.getIPv6Address());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(String ip6Gateway) {
Network network = mock(Network.class);
Mockito.when(network.getIp6Gateway()).thenReturn(ip6Gateway);
return network;
}
}
Mock Clone Instance #cloudstack_MCI_42
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static Network createMockNetwork(Long networkId) {
Network network = Mockito.mock(Network.class);
Mockito.when(network.getId()).thenReturn(networkId);
return network;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_42_1
Test Case Name: testNewAssignPublicIpv6ToNetwork(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\Ipv6ServiceImplTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
Mockito.when(nic.getMacAddress()).thenReturn(macAddress);
Mockito.when(nic.getId()).thenReturn(nicId);
- Network network = Mockito.mock(Network.class);
- Mockito.when(network.getId()).thenReturn(networkId);
+ Network network = createMockNetwork(networkId);
prepareMocksForPublicIpv6(false);
Nic assignedNic;
try (TransactionLegacy txn = TransactionLegacy.open("testNewPreAllocateIpv6SubnetForNetwork")) {
assignedNic = ipv6Service.assignPublicIpv6ToNetwork(network, nic);
}
Assert.assertEquals(ipv6Address, assignedNic.getIPv6Address());
Assert.assertEquals(gateway, assignedNic.getIPv6Gateway());
Assert.assertEquals(cidr, assignedNic.getIPv6Cidr());
}
Original Test Code (click to expand)
@Test
@DB
public void testNewAssignPublicIpv6ToNetwork() {
NicVO nic = Mockito.mock(NicVO.class);
Mockito.when(nic.getIPv6Address()).thenReturn(null);
Mockito.when(nic.getBroadcastUri()).thenReturn(URI.create(vlan));
Mockito.when(nic.getMacAddress()).thenReturn(macAddress);
Mockito.when(nic.getId()).thenReturn(nicId);
Network network = Mockito.mock(Network.class);
Mockito.when(network.getId()).thenReturn(networkId);
prepareMocksForPublicIpv6(false);
Nic assignedNic;
try (TransactionLegacy txn = TransactionLegacy.open("testNewPreAllocateIpv6SubnetForNetwork")) {
assignedNic = ipv6Service.assignPublicIpv6ToNetwork(network, nic);
}
Assert.assertEquals(ipv6Address, assignedNic.getIPv6Address());
Assert.assertEquals(gateway, assignedNic.getIPv6Gateway());
Assert.assertEquals(cidr, assignedNic.getIPv6Cidr());
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(Long networkId) {
Network network = Mockito.mock(Network.class);
Mockito.when(network.getId()).thenReturn(networkId);
return network;
}
Test Case ID #cloudstack_Test_42_2
Test Case Name: testFromPlaceholderAssignPublicIpv6ToNetwork(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\Ipv6ServiceImplTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
Mockito.when(nic.getBroadcastUri()).thenReturn(URI.create(vlan));
Mockito.when(nic.getId()).thenReturn(nicId);
- Network network = Mockito.mock(Network.class);
- Mockito.when(network.getId()).thenReturn(networkId);
+ Network network = createMockNetwork(networkId);
prepareMocksForPublicIpv6(true);
Nic assignedNic = ipv6Service.assignPublicIpv6ToNetwork(network, nic);
Assert.assertEquals(ipv6Address, assignedNic.getIPv6Address());
Assert.assertEquals(gateway, assignedNic.getIPv6Gateway());
Assert.assertEquals(cidr, assignedNic.getIPv6Cidr());
}
@@
Original Test Code (click to expand)
@Test
public void testFromPlaceholderAssignPublicIpv6ToNetwork() {
NicVO nic = Mockito.mock(NicVO.class);
Mockito.when(nic.getIPv6Address()).thenReturn(null);
Mockito.when(nic.getBroadcastUri()).thenReturn(URI.create(vlan));
Mockito.when(nic.getId()).thenReturn(nicId);
Network network = Mockito.mock(Network.class);
Mockito.when(network.getId()).thenReturn(networkId);
prepareMocksForPublicIpv6(true);
Nic assignedNic = ipv6Service.assignPublicIpv6ToNetwork(network, nic);
Assert.assertEquals(ipv6Address, assignedNic.getIPv6Address());
Assert.assertEquals(gateway, assignedNic.getIPv6Gateway());
Assert.assertEquals(cidr, assignedNic.getIPv6Cidr());
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(Long networkId) {
Network network = Mockito.mock(Network.class);
Mockito.when(network.getId()).thenReturn(networkId);
return network;
}
Mock Clone Instance #cloudstack_MCI_43
- Scope: class level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 19
- MO Count: 19
Reusable Method
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_43_1
Test Case Name: createSharedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
public void createSharedNetworkTest() {
- Network network = mock(Network.class);
+ Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Guest);
Vlan vlan = mock(Vlan.class);
AccountVO accountVO = mock(AccountVO.class);
TungstenAnswer createTungstenSharedNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer addNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
HostVO hostVO = mock(HostVO.class);
Answer answer = mock(Answer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
ApiObjectBase apiObjectBase = mock(ApiObjectBase.class);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createTungstenSharedNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(createTungstenSharedNetworkAnswer.getResult()).thenReturn(true);
when(addNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
+ when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
+ when(network.getCidr()).thenReturn("192.168.100.0/24");
when(vlan.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
when(vlan.getVlanGateway()).thenReturn("192.168.100.1");
when(vlan.getIp6Gateway()).thenReturn("fd00::1");
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(hostDao.findByPublicIp(anyString())).thenReturn(hostVO);
when(agentMgr.easySend(anyLong(), any(SetupTungstenVRouterCommand.class))).thenReturn(answer);
when(answer.getResult()).thenReturn(true);
when(vlan.getIp6Cidr()).thenReturn("fd00::1/64");
when(vlan.getIp6Range()).thenReturn("fd00::100-fd00::200");
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.1.150");
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
when(createTungstenSharedNetworkAnswer.getApiObjectBase()).thenReturn(apiObjectBase);
when(apiObjectBase.getQualifiedName()).thenReturn(List.of("network"));
when(tungstenProviderVO.getGateway()).thenReturn("192.168.100.1");
assertTrue(tungstenService.createSharedNetwork(network, vlan));
}
@@
Original Test Code (click to expand)
@Test
public void createSharedNetworkTest() {
Network network = mock(Network.class);
Vlan vlan = mock(Vlan.class);
AccountVO accountVO = mock(AccountVO.class);
TungstenAnswer createTungstenSharedNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer addNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
HostVO hostVO = mock(HostVO.class);
Answer answer = mock(Answer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
ApiObjectBase apiObjectBase = mock(ApiObjectBase.class);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createTungstenSharedNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(createTungstenSharedNetworkAnswer.getResult()).thenReturn(true);
when(addNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getCidr()).thenReturn("192.168.100.0/24");
when(vlan.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
when(vlan.getVlanGateway()).thenReturn("192.168.100.1");
when(vlan.getIp6Gateway()).thenReturn("fd00::1");
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(hostDao.findByPublicIp(anyString())).thenReturn(hostVO);
when(agentMgr.easySend(anyLong(), any(SetupTungstenVRouterCommand.class))).thenReturn(answer);
when(answer.getResult()).thenReturn(true);
when(vlan.getIp6Cidr()).thenReturn("fd00::1/64");
when(vlan.getIp6Range()).thenReturn("fd00::100-fd00::200");
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.1.150");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
when(createTungstenSharedNetworkAnswer.getApiObjectBase()).thenReturn(apiObjectBase);
when(apiObjectBase.getQualifiedName()).thenReturn(List.of("network"));
when(tungstenProviderVO.getGateway()).thenReturn("192.168.100.1");
assertTrue(tungstenService.createSharedNetwork(network, vlan));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_2
Test Case Name: prepareMigrationTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
NicProfile nic = mock(NicProfile.class);
- Network network = mock(Network.class);
+ Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Public);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
DeployDestination dest = mock(DeployDestination.class);
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
@@
Original Test Code (click to expand)
@Test
public void prepareMigrationTest() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
DeployDestination dest = mock(DeployDestination.class);
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_3
Test Case Name: testDeallocate(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testDeallocate() {
- final Network network = mock(Network.class);
+ final Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Guest);
final NicProfile nicProfile = mock(NicProfile.class);
final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
- when(network.getDataCenterId()).thenReturn(1L);
+ when(network.getDataCenterId()).thenReturn(1L);
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
guru.deallocate(network, nicProfile, virtualMachineProfile);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong());
}
@@
Original Test Code (click to expand)
@Test
public void testDeallocate() {
final Network network = mock(Network.class);
final NicProfile nicProfile = mock(NicProfile.class);
final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
guru.deallocate(network, nicProfile, virtualMachineProfile);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_4
Test Case Name: testDeallocateWithException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
final NicProfile nicProfile = mock(NicProfile.class);
final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(new IllegalArgumentException());
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
- final Network network = mock(Network.class);
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
+ final Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Guest);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
guru.deallocate(network, nicProfile, virtualMachineProfile);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testDeallocateWithException() {
final Network network = mock(Network.class);
final NicProfile nicProfile = mock(NicProfile.class);
final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(new IllegalArgumentException());
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
guru.deallocate(network, nicProfile, virtualMachineProfile);
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_5
Test Case Name: testImplementGuestNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
- final Network network = mock(Network.class);
+ final Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Guest);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getNetworkOfferingId()).thenReturn(1L);
when(network.getState()).thenReturn(Network.State.Implementing);
when(network.getDataCenterId()).thenReturn(2L);
when(network.getPhysicalNetworkId()).thenReturn(3L);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(network)).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new LogicalRouter(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, "192.168.1.100"));
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenService.allocateDnsIpAddress(any(Network.class), any(), anyString())).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), implemented.getBroadcastUri());
assertEquals("192.168.1.1", implemented.getGateway());
assertEquals("192.168.1.0/24", implemented.getCidr());
assertEquals(Networks.Mode.Dhcp, implemented.getMode());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, implemented.getBroadcastDomainType());
assertEquals(1L, implemented.getNetworkOfferingId());
assertEquals(Network.State.Implemented, implemented.getState());
assertEquals(2L, implemented.getDataCenterId());
assertEquals(3L, implemented.getPhysicalNetworkId().longValue());
assertFalse(implemented.isRedundant());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(SetTungstenNetworkGatewayCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testImplementGuestNetwork() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getNetworkOfferingId()).thenReturn(1L);
when(network.getState()).thenReturn(Network.State.Implementing);
when(network.getDataCenterId()).thenReturn(2L);
when(network.getPhysicalNetworkId()).thenReturn(3L);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(network)).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new LogicalRouter(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, "192.168.1.100"));
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenService.allocateDnsIpAddress(any(Network.class), any(), anyString())).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), implemented.getBroadcastUri());
assertEquals("192.168.1.1", implemented.getGateway());
assertEquals("192.168.1.0/24", implemented.getCidr());
assertEquals(Networks.Mode.Dhcp, implemented.getMode());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, implemented.getBroadcastDomainType());
assertEquals(1L, implemented.getNetworkOfferingId());
assertEquals(Network.State.Implemented, implemented.getState());
assertEquals(2L, implemented.getDataCenterId());
assertEquals(3L, implemented.getPhysicalNetworkId().longValue());
assertFalse(implemented.isRedundant());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(SetTungstenNetworkGatewayCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_6
Test Case Name: testImplementSharedNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testImplementSharedNetwork() {
- final Network network = mock(Network.class);
+ final Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Guest);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getNetworkOfferingId()).thenReturn(1L);
when(network.getState()).thenReturn(Network.State.Implementing);
when(network.getDataCenterId()).thenReturn(2L);
when(network.getPhysicalNetworkId()).thenReturn(3L);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Shared);
when(vlanDao.listVlansByNetworkId(anyLong())).thenReturn(List.of(new VlanVO()));
when(tungstenService.createSharedNetwork(any(Network.class), any(VlanVO.class))).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), implemented.getBroadcastUri());
assertEquals("192.168.1.1", implemented.getGateway());
assertEquals("192.168.1.0/24", implemented.getCidr());
assertEquals(Networks.Mode.Dhcp, implemented.getMode());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, implemented.getBroadcastDomainType());
assertEquals(1L, implemented.getNetworkOfferingId());
assertEquals(Network.State.Implemented, implemented.getState());
assertEquals(2L, implemented.getDataCenterId());
assertEquals(3L, implemented.getPhysicalNetworkId().longValue());
assertFalse(implemented.isRedundant());
}
@@
Original Test Code (click to expand)
@Test
public void testImplementSharedNetwork() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getNetworkOfferingId()).thenReturn(1L);
when(network.getState()).thenReturn(Network.State.Implementing);
when(network.getDataCenterId()).thenReturn(2L);
when(network.getPhysicalNetworkId()).thenReturn(3L);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Shared);
when(vlanDao.listVlansByNetworkId(anyLong())).thenReturn(List.of(new VlanVO()));
when(tungstenService.createSharedNetwork(any(Network.class), any(VlanVO.class))).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), implemented.getBroadcastUri());
assertEquals("192.168.1.1", implemented.getGateway());
assertEquals("192.168.1.0/24", implemented.getCidr());
assertEquals(Networks.Mode.Dhcp, implemented.getMode());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, implemented.getBroadcastDomainType());
assertEquals(1L, implemented.getNetworkOfferingId());
assertEquals(Network.State.Implemented, implemented.getState());
assertEquals(2L, implemented.getDataCenterId());
assertEquals(3L, implemented.getPhysicalNetworkId().longValue());
assertFalse(implemented.isRedundant());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_7
Test Case Name: testImplementWithException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
public void testImplementWithException() {
- final Network network = mock(Network.class);
+ final Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Guest);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getState()).thenReturn(Network.State.Implementing);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(any(Network.class))).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new IOException()));
guru.implement(network, offering, deployDestination, reservationContext);
}
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testImplementWithException() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getState()).thenReturn(Network.State.Implementing);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(any(Network.class))).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new IOException()));
guru.implement(network, offering, deployDestination, reservationContext);
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_8
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
final NicProfile nic = mock(NicProfile.class);
- final Network network = mock(Network.class);
+ final Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Guest);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
guru.reserve(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
guru.reserve(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_9
Test Case Name: testPrepareMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
final NicProfile nic = mock(NicProfile.class);
- final Network network = mock(Network.class);
+ final Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Guest);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testPrepareMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_10
Test Case Name: addManagementNetworkSubnetTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: managementNetwork
Suggested Diff
@@
HostPodVO hostPodVO = mock(HostPodVO.class);
- Network managementNetwork = mock(Network.class);
+ Network managementNetwork = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Management);
TungstenAnswer addTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
DataCenterIpAddressVO dataCenterIpAddressVO = mock(DataCenterIpAddressVO.class);
when(hostPodVO.getDescription()).thenReturn("192.168.100.100-192.168.100.200");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
- when(managementNetwork.getCidr()).thenReturn("192.168.100.0/24");
+ when(managementNetwork.getCidr()).thenReturn("192.168.100.0/24");
- when(managementNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(dataCenterIpAddressDao.listByPodIdDcIdIpAddress(anyLong(), anyLong(), anyString())).thenReturn(List.of(dataCenterIpAddressVO));
when(dataCenterIpAddressDao.mark(anyLong(), anyLong(), anyString())).thenReturn(true);
assertTrue(tungstenService.addManagementNetworkSubnet(hostPodVO));
@@
Original Test Code (click to expand)
@Test
public void addManagementNetworkSubnetTest() {
HostPodVO hostPodVO = mock(HostPodVO.class);
Network managementNetwork = mock(Network.class);
TungstenAnswer addTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
DataCenterIpAddressVO dataCenterIpAddressVO = mock(DataCenterIpAddressVO.class);
when(hostPodVO.getDescription()).thenReturn("192.168.100.100-192.168.100.200");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
when(managementNetwork.getCidr()).thenReturn("192.168.100.0/24");
when(managementNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(dataCenterIpAddressDao.listByPodIdDcIdIpAddress(anyLong(), anyLong(), anyString())).thenReturn(List.of(dataCenterIpAddressVO));
when(dataCenterIpAddressDao.mark(anyLong(), anyLong(), anyString())).thenReturn(true);
assertTrue(tungstenService.addManagementNetworkSubnet(hostPodVO));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_11
Test Case Name: preparePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
- Network network = mock(Network.class);
+ Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Public);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
@@
Original Test Code (click to expand)
@Test
public void preparePublicNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_12
Test Case Name: removeManagementNetworkSubnetTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: managementNetwork
Suggested Diff
@@
HostPodVO hostPodVO = mock(HostPodVO.class);
- Network managementNetwork = mock(Network.class);
+ Network managementNetwork = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Management);
TungstenAnswer removeTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
DataCenterIpAddressVO dataCenterIpAddressVO = mock(DataCenterIpAddressVO.class);
when(hostPodVO.getDescription()).thenReturn("192.168.100.100-192.168.100.200");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(removeTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(removeTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
- when(managementNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(dataCenterIpAddressDao.listByPodIdDcIdIpAddress(anyLong(), anyLong(), anyString())).thenReturn(List.of(dataCenterIpAddressVO));
assertTrue(tungstenService.removeManagementNetworkSubnet(hostPodVO));
verify(dataCenterIpAddressDao, times(1)).releasePodIpAddress(anyLong());
@@
Original Test Code (click to expand)
@Test
public void removeManagementNetworkSubnetTest() {
HostPodVO hostPodVO = mock(HostPodVO.class);
Network managementNetwork = mock(Network.class);
TungstenAnswer removeTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
DataCenterIpAddressVO dataCenterIpAddressVO = mock(DataCenterIpAddressVO.class);
when(hostPodVO.getDescription()).thenReturn("192.168.100.100-192.168.100.200");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(removeTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(removeTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
when(managementNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(dataCenterIpAddressDao.listByPodIdDcIdIpAddress(anyLong(), anyLong(), anyString())).thenReturn(List.of(dataCenterIpAddressVO));
assertTrue(tungstenService.removeManagementNetworkSubnet(hostPodVO));
verify(dataCenterIpAddressDao, times(1)).releasePodIpAddress(anyLong());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_13
Test Case Name: prepareManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void prepareManagementNetworkTest() throws ConcurrentOperationException {
- Network network = mock(Network.class);
+ Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Management);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
@@
Original Test Code (click to expand)
@Test
public void prepareManagementNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_14
Test Case Name: prepareWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
public void prepareWithExceptionTest() throws ConcurrentOperationException {
- Network network = mock(Network.class);
+ Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Management);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
}
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void prepareWithExceptionTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_15
Test Case Name: addPublicNetworkSubnetTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
VlanVO vlanVO = mock(VlanVO.class);
- Network publicNetwork = mock(Network.class);
+ Network publicNetwork = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Public);
TungstenAnswer addTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
when(vlanVO.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
when(vlanVO.getVlanGateway()).thenReturn("192.168.100.1");
when(vlanVO.getVlanNetmask()).thenReturn("255.255.255.0");
- when(publicNetwork.getCidr()).thenReturn("192.168.100.0/24");
+ when(publicNetwork.getCidr()).thenReturn("192.168.100.0/24");
when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
- when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
- when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
- when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
- when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
- when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
+ when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
+ when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
+ when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
+ when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
assertTrue(tungstenService.addPublicNetworkSubnet(vlanVO));
@@
Original Test Code (click to expand)
@Test
public void addPublicNetworkSubnetTest() {
VlanVO vlanVO = mock(VlanVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer addTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
when(vlanVO.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
when(vlanVO.getVlanGateway()).thenReturn("192.168.100.1");
when(vlanVO.getVlanNetmask()).thenReturn("255.255.255.0");
when(publicNetwork.getCidr()).thenReturn("192.168.100.0/24");
when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
assertTrue(tungstenService.addPublicNetworkSubnet(vlanVO));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_16
Test Case Name: releasePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
- Network network = mock(Network.class);
+ Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Public);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Original Test Code (click to expand)
@Test
public void releasePublicNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_17
Test Case Name: releaseManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void releaseManagementNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
- Network network = mock(Network.class);
+ Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Management);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
@@
Original Test Code (click to expand)
@Test
public void releaseManagementNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_18
Test Case Name: removePublicNetworkSubnetTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
VlanVO vlanVO = mock(VlanVO.class);
- Network publicNetwork = mock(Network.class);
+ Network publicNetwork = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Public);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer removeTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(removeTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
when(removeTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
- when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
assertTrue(tungstenService.removePublicNetworkSubnet(vlanVO));
verify(ipAddressDao, times(1)).unassignIpAddress(anyLong());
@@
Original Test Code (click to expand)
@Test
public void removePublicNetworkSubnetTest() {
VlanVO vlanVO = mock(VlanVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer removeTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(removeTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
when(removeTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
assertTrue(tungstenService.removePublicNetworkSubnet(vlanVO));
verify(ipAddressDao, times(1)).unassignIpAddress(anyLong());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Test Case ID #cloudstack_Test_43_19
Test Case Name: releaseWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test(expected = CloudRuntimeException.class)
public void releaseWithExceptionTest() throws ConcurrentOperationException, ResourceUnavailableException {
- Network network = mock(Network.class);
+ Network network = MockNetwork.createMockNetworkWithTrafficType(Networks.TrafficType.Management);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
- when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
}
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void releaseWithExceptionTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithTrafficType(Networks.TrafficType trafficType) {
Network network = mock(Network.class);
when(network.getTrafficType()).thenReturn(trafficType);
return network;
}
}
Mock Clone Instance #cloudstack_MCI_44
- Scope: class level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 3
- MO Count: 3
Reusable Method
public class MockNetwork {
public static Network createMockNetworkWithGuestType(Network.GuestType guestType) {
Network network = mock(Network.class);
when(network.getGuestType()).thenReturn(guestType);
return network;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_44_1
Test Case Name: addTungstenNicSecondaryIpAddressTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
NicSecondaryIp nicSecondaryIp = mock(NicSecondaryIp.class);
- Network network = mock(Network.class);
DataCenter dataCenter = mock(DataCenter.class);
Nic nic = mock(Nic.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
SecurityGroupRuleVO securityGroupRuleVO = mock(SecurityGroupRuleVO.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer addTungstenSecondaryIpAddressAnswer = mock(TungstenAnswer.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(entityMgr.findById(eq(NicSecondaryIp.class), anyLong())).thenReturn(nicSecondaryIp);
when(entityMgr.findById(eq(Network.class), anyLong())).thenReturn(network);
when(entityMgr.findById(eq(DataCenter.class), anyLong())).thenReturn(dataCenter);
when(entityMgr.findById(eq(Nic.class), anyLong())).thenReturn(nic);
when(nicSecondaryIp.getIp4Address()).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecondaryIpAddressCommand.class), anyLong())).thenReturn(addTungstenSecondaryIpAddressAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(addTungstenSecondaryIpAddressAnswer.getResult()).thenReturn(true);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
- when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
+ Network network = MockNetwork.createMockNetworkWithGuestType(Network.GuestType.Shared);
when(securityGroupManager.getSecurityGroupsForVm(anyLong())).thenReturn(List.of(securityGroupVO));
when(securityGroupRuleDao.listByAllowedSecurityGroupId(anyLong())).thenReturn(List.of(securityGroupRuleVO));
when(tungstenSecurityGroupRuleDao.persist(any(TungstenSecurityGroupRuleVO.class))).thenReturn(tungstenSecurityGroupRuleVO);
when(securityGroupRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
assertTrue(tungstenService.addTungstenNicSecondaryIpAddress(1L));
@@
Original Test Code (click to expand)
@Test
public void addTungstenNicSecondaryIpAddressTest() {
NicSecondaryIp nicSecondaryIp = mock(NicSecondaryIp.class);
Network network = mock(Network.class);
DataCenter dataCenter = mock(DataCenter.class);
Nic nic = mock(Nic.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
SecurityGroupRuleVO securityGroupRuleVO = mock(SecurityGroupRuleVO.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer addTungstenSecondaryIpAddressAnswer = mock(TungstenAnswer.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(entityMgr.findById(eq(NicSecondaryIp.class), anyLong())).thenReturn(nicSecondaryIp);
when(entityMgr.findById(eq(Network.class), anyLong())).thenReturn(network);
when(entityMgr.findById(eq(DataCenter.class), anyLong())).thenReturn(dataCenter);
when(entityMgr.findById(eq(Nic.class), anyLong())).thenReturn(nic);
when(nicSecondaryIp.getIp4Address()).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecondaryIpAddressCommand.class), anyLong())).thenReturn(addTungstenSecondaryIpAddressAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(addTungstenSecondaryIpAddressAnswer.getResult()).thenReturn(true);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(securityGroupManager.getSecurityGroupsForVm(anyLong())).thenReturn(List.of(securityGroupVO));
when(securityGroupRuleDao.listByAllowedSecurityGroupId(anyLong())).thenReturn(List.of(securityGroupRuleVO));
when(tungstenSecurityGroupRuleDao.persist(any(TungstenSecurityGroupRuleVO.class))).thenReturn(tungstenSecurityGroupRuleVO);
when(securityGroupRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
assertTrue(tungstenService.addTungstenNicSecondaryIpAddress(1L));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithGuestType(Network.GuestType guestType) {
Network network = mock(Network.class);
when(network.getGuestType()).thenReturn(guestType);
return network;
}
}
Test Case ID #cloudstack_Test_44_2
Test Case Name: removeTungstenNicSecondaryIpAddressTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
NicSecondaryIpVO nicSecondaryIpVO = mock(NicSecondaryIpVO.class);
- Network network = mock(Network.class);
+ Network network = MockNetwork.createMockNetworkWithGuestType(Network.GuestType.Shared);
DataCenter dataCenter = mock(DataCenter.class);
TungstenAnswer removeTungstenSecondaryIpAddressAnswer = mock(TungstenAnswer.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(entityMgr.findById(eq(Network.class), anyLong())).thenReturn(network);
when(entityMgr.findById(eq(DataCenter.class), anyLong())).thenReturn(dataCenter);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecondaryIpAddressCommand.class), anyLong())).thenReturn(removeTungstenSecondaryIpAddressAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(removeTungstenSecondaryIpAddressAnswer.getResult()).thenReturn(true);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
- when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(tungstenSecurityGroupRuleDao.listByRuleTarget(anyString())).thenReturn(List.of(tungstenSecurityGroupRuleVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
when(tungstenSecurityGroupRuleDao.expunge(anyLong())).thenReturn(true);
when(nicSecondaryIpVO.getIp4Address()).thenReturn("192.168.100.100");
assertTrue(tungstenService.removeTungstenNicSecondaryIpAddress(nicSecondaryIpVO));
@@
Original Test Code (click to expand)
@Test
public void removeTungstenNicSecondaryIpAddressTest() {
NicSecondaryIpVO nicSecondaryIpVO = mock(NicSecondaryIpVO.class);
Network network = mock(Network.class);
DataCenter dataCenter = mock(DataCenter.class);
TungstenAnswer removeTungstenSecondaryIpAddressAnswer = mock(TungstenAnswer.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(entityMgr.findById(eq(Network.class), anyLong())).thenReturn(network);
when(entityMgr.findById(eq(DataCenter.class), anyLong())).thenReturn(dataCenter);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecondaryIpAddressCommand.class), anyLong())).thenReturn(removeTungstenSecondaryIpAddressAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(removeTungstenSecondaryIpAddressAnswer.getResult()).thenReturn(true);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(tungstenSecurityGroupRuleDao.listByRuleTarget(anyString())).thenReturn(List.of(tungstenSecurityGroupRuleVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
when(tungstenSecurityGroupRuleDao.expunge(anyLong())).thenReturn(true);
when(nicSecondaryIpVO.getIp4Address()).thenReturn("192.168.100.100");
assertTrue(tungstenService.removeTungstenNicSecondaryIpAddress(nicSecondaryIpVO));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithGuestType(Network.GuestType guestType) {
Network network = mock(Network.class);
when(network.getGuestType()).thenReturn(guestType);
return network;
}
}
Test Case ID #cloudstack_Test_44_3
Test Case Name: testTrashSharedNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testTrashSharedNetwork() {
- final Network network = mock(Network.class);
+ final Network network = MockNetwork.createMockNetworkWithGuestType(Network.GuestType.Shared);
final NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
final TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
final HostVO hostVO = mock(HostVO.class);
- when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(networkDetailsDao.findDetail(anyLong(), anyString())).thenReturn(networkDetailVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(hostDao.findByPublicIp(any())).thenReturn(hostVO);
guru.trash(network, offering);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(ClearTungstenNetworkGatewayCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong());
verify(tungstenService, times(1)).deallocateDnsIpAddress(any(), any(), anyString());
verify(agentMgr, times(1)).easySend(any(), any(SetupTungstenVRouterCommand.class));
verify(networkDetailsDao, times(1)).expunge(anyLong());
}
@@
Original Test Code (click to expand)
@Test
public void testTrashSharedNetwork() {
final Network network = mock(Network.class);
final NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
final TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
final HostVO hostVO = mock(HostVO.class);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(networkDetailsDao.findDetail(anyLong(), anyString())).thenReturn(networkDetailVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(hostDao.findByPublicIp(any())).thenReturn(hostVO);
guru.trash(network, offering);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(ClearTungstenNetworkGatewayCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong());
verify(tungstenService, times(1)).deallocateDnsIpAddress(any(), any(), anyString());
verify(agentMgr, times(1)).easySend(any(), any(SetupTungstenVRouterCommand.class));
verify(networkDetailsDao, times(1)).expunge(anyLong());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetworkWithGuestType(Network.GuestType guestType) {
Network network = mock(Network.class);
when(network.getGuestType()).thenReturn(guestType);
return network;
}
}
Mock Clone Instance #cloudstack_MCI_45
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 21
- MO Count: 21
Reusable Method
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_45_1
Test Case Name: canHandleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void canHandleSuccessTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
Network.Service service = mock(Network.Service.class);
when(networkModel.isProviderForNetwork(any(), anyLong())).thenReturn(true);
- assertTrue(tungstenElement.canHandle(network, service));
+ assertTrue(tungstenElement.canHandle(network, service));
}
Original Test Code (click to expand)
@Test
public void canHandleSuccessTest() {
Network network = mock(Network.class);
Network.Service service = mock(Network.Service.class);
when(networkModel.isProviderForNetwork(any(), anyLong())).thenReturn(true);
assertTrue(tungstenElement.canHandle(network, service));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_2
Test Case Name: canHandleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void canHandleFailTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
Network.Service service = mock(Network.Service.class);
when(networkModel.isProviderForNetwork(any(), anyLong())).thenReturn(false);
- assertFalse(tungstenElement.canHandle(network, service));
+ assertFalse(tungstenElement.canHandle(network, service));
}
Original Test Code (click to expand)
@Test
public void canHandleFailTest() {
Network network = mock(Network.class);
Network.Service service = mock(Network.Service.class);
when(networkModel.isProviderForNetwork(any(), anyLong())).thenReturn(false);
assertFalse(tungstenElement.canHandle(network, service));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_3
Test Case Name: applyStaticNatsAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyStaticNatsAddRuleSuccessTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
}
Original Test Code (click to expand)
@Test
public void applyStaticNatsAddRuleSuccessTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_4
Test Case Name: applyStaticNatsAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyStaticNatsAddRuleFailTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
- assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
+ assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Original Test Code (click to expand)
@Test
public void applyStaticNatsAddRuleFailTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_5
Test Case Name: applyStaticNatsRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyStaticNatsRevokeRuleSuccessTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
- assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
+ assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
}
Original Test Code (click to expand)
@Test
public void applyStaticNatsRevokeRuleSuccessTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_6
Test Case Name: applyStaticNatsRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyStaticNatsRevokeRuleFailTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
@@
- assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
+ assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
Original Test Code (click to expand)
@Test
public void applyStaticNatsRevokeRuleFailTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_7
Test Case Name: applyLBRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyLBRulesAddRuleSuccessTest() {
User caller = mock(User.class);
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
@@
- assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
+ assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleSuccessTest() {
User caller = mock(User.class);
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_8
Test Case Name: applyLBRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyLBRulesAddRuleFailTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
@@
- assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
+ assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(80);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_9
Test Case Name: applyLBRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyLBRulesRevokeRuleFailTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
Network publicNetwork = mock(Network.class);
Ip ip1 = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip1);
when(ip1.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
@@
- assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
+ assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip1 = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip1);
when(ip1.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_10
Test Case Name: applyLBRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyLBRulesRevokeRuleSuccessTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
List<LoadBalancingRule> loadBalancingRuleList = List.of(loadBalancingRule);
List<LoadBalancerVO> loadBalancerVOList = Arrays.asList(loadBalancerVO1, loadBalancerVO2);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
@@
- assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
+ assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
List<LoadBalancingRule> loadBalancingRuleList = List.of(loadBalancingRule);
List<LoadBalancerVO> loadBalancerVOList = Arrays.asList(loadBalancerVO1, loadBalancerVO2);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_11
Test Case Name: applyPFRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyPFRulesAddRuleSuccessTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
- assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
+ assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesAddRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_12
Test Case Name: applyPFRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyPFRulesAddRuleFailTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
- assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
+ assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_13
Test Case Name: applyPFRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyPFRulesRevokeRuleSuccessTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
@@
- assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
+ assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
Original Test Code (click to expand)
@Test
public void applyPFRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_14
Test Case Name: applyPFRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyPFRulesRevokeRuleFailTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
@@
- assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
+ assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_15
Test Case Name: destroyTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void destroyTest() throws ConcurrentOperationException, ResourceUnavailableException {
IPAddressVO ipAddressVO1 = mock(IPAddressVO.class);
IPAddressVO ipAddressVO2 = mock(IPAddressVO.class);
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
ReservationContext reservationContext = mock(ReservationContext.class);
List<IPAddressVO> ipAddressVOList = Arrays.asList(ipAddressVO1, ipAddressVO2);
TungstenAnswer tungstenDeleteFIPAnswer = mock(TungstenAnswer.class);
TungstenAnswer tungstenDeleteNPAnswer = mock(TungstenAnswer.class);
when(ipAddressDao.listByAssociatedNetwork(anyLong(), anyBoolean())).thenReturn(ipAddressVOList);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpCommand.class), anyLong())).thenReturn(tungstenDeleteFIPAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(tungstenDeleteNPAnswer);
when(tungstenDeleteFIPAnswer.getResult()).thenReturn(true);
when(tungstenDeleteNPAnswer.getResult()).thenReturn(true);
- assertTrue(tungstenElement.destroy(network, reservationContext));
+ assertTrue(tungstenElement.destroy(network, reservationContext));
}
Original Test Code (click to expand)
@Test
public void destroyTest() throws ConcurrentOperationException, ResourceUnavailableException {
IPAddressVO ipAddressVO1 = mock(IPAddressVO.class);
IPAddressVO ipAddressVO2 = mock(IPAddressVO.class);
Network network = mock(Network.class);
ReservationContext reservationContext = mock(ReservationContext.class);
List<IPAddressVO> ipAddressVOList = Arrays.asList(ipAddressVO1, ipAddressVO2);
TungstenAnswer tungstenDeleteFIPAnswer = mock(TungstenAnswer.class);
TungstenAnswer tungstenDeleteNPAnswer = mock(TungstenAnswer.class);
when(ipAddressDao.listByAssociatedNetwork(anyLong(), anyBoolean())).thenReturn(ipAddressVOList);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpCommand.class), anyLong())).thenReturn(tungstenDeleteFIPAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(tungstenDeleteNPAnswer);
when(tungstenDeleteFIPAnswer.getResult()).thenReturn(true);
when(tungstenDeleteNPAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.destroy(network, reservationContext));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_16
Test Case Name: shutdownProviderInstancesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void shutdownProviderInstancesTest() throws ConcurrentOperationException {
PhysicalNetworkServiceProvider physicalNetworkServiceProvider = mock(PhysicalNetworkServiceProvider.class);
ReservationContext reservationContext = mock(ReservationContext.class);
PhysicalNetworkVO physicalNetworkVO = mock(PhysicalNetworkVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `network`
VlanVO vlanVO1 = mock(VlanVO.class);
VlanVO vlanVO2 = mock(VlanVO.class);
List<VlanVO> vlanVOList = Arrays.asList(vlanVO1, vlanVO2);
HostPodVO hostPodVO1 = mock(HostPodVO.class);
HostPodVO hostPodVO2 = mock(HostPodVO.class);
List<HostPodVO> hostPodVOList = Arrays.asList(hostPodVO1, hostPodVO2);
when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(network);
when(vlanDao.listVlansByNetworkIdIncludingRemoved(anyLong())).thenReturn(vlanVOList);
when(hostPodDao.listByDataCenterId(anyLong())).thenReturn(hostPodVOList);
assertTrue(tungstenElement.shutdownProviderInstances(physicalNetworkServiceProvider, reservationContext));
verify(networkServiceMapDao, times(1)).deleteByNetworkId(anyLong());
verify(tungstenService, times(2)).removePublicNetworkSubnet(any(VlanVO.class));
verify(tungstenService, times(1)).deletePublicNetwork(anyLong());
verify(tungstenService, times(2)).removeManagementNetworkSubnet(any(HostPodVO.class));
verify(tungstenService, times(1)).deleteManagementNetwork(anyLong());
}
Original Test Code (click to expand)
@Test
public void shutdownProviderInstancesTest() throws ConcurrentOperationException {
PhysicalNetworkServiceProvider physicalNetworkServiceProvider = mock(PhysicalNetworkServiceProvider.class);
ReservationContext reservationContext = mock(ReservationContext.class);
PhysicalNetworkVO physicalNetworkVO = mock(PhysicalNetworkVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
Network publicNetwork = mock(Network.class);
VlanVO vlanVO1 = mock(VlanVO.class);
VlanVO vlanVO2 = mock(VlanVO.class);
List<VlanVO> vlanVOList = Arrays.asList(vlanVO1, vlanVO2);
HostPodVO hostPodVO1 = mock(HostPodVO.class);
HostPodVO hostPodVO2 = mock(HostPodVO.class);
List<HostPodVO> hostPodVOList = Arrays.asList(hostPodVO1, hostPodVO2);
when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(vlanDao.listVlansByNetworkIdIncludingRemoved(anyLong())).thenReturn(vlanVOList);
when(hostPodDao.listByDataCenterId(anyLong())).thenReturn(hostPodVOList);
assertTrue(tungstenElement.shutdownProviderInstances(physicalNetworkServiceProvider, reservationContext));
verify(networkServiceMapDao, times(1)).deleteByNetworkId(anyLong());
verify(tungstenService, times(2)).removePublicNetworkSubnet(any(VlanVO.class));
verify(tungstenService, times(1)).deletePublicNetwork(anyLong());
verify(tungstenService, times(2)).removeManagementNetworkSubnet(any(HostPodVO.class));
verify(tungstenService, times(1)).deleteManagementNetwork(anyLong());
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_17
Test Case Name: applyFWRulesWithAddEgressRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyFWRulesWithAddEgressRuleTest() throws ResourceUnavailableException {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Egress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
- assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
+ assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Original Test Code (click to expand)
@Test
public void applyFWRulesWithAddEgressRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Egress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_18
Test Case Name: applyFWRulesWithAddIngressRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyFWRulesWithAddIngressRuleTest() throws ResourceUnavailableException {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
Ip ip = mock(Ip.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findById(anyLong())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
- assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
+ assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Original Test Code (click to expand)
@Test
public void applyFWRulesWithAddIngressRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
Ip ip = mock(Ip.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findById(anyLong())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_19
Test Case Name: applyFWRulesWithRevokeRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyFWRulesWithRevokeRuleTest() throws ResourceUnavailableException {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteNetworkPolicyAnswer);
when(deleteNetworkPolicyAnswer.getResult()).thenReturn(true);
- assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
+ assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Original Test Code (click to expand)
@Test
public void applyFWRulesWithRevokeRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteNetworkPolicyAnswer);
when(deleteNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_20
Test Case Name: rollbackMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void rollbackMigration() {
NicProfile nic = mock(NicProfile.class);
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- tungstenElement.rollbackMigration(nic, network, vm, src, dest);
+ tungstenElement.rollbackMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void rollbackMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.rollbackMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_45_21
Test Case Name: commitMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void commitMigration() {
NicProfile nic = mock(NicProfile.class);
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- tungstenElement.commitMigration(nic, network, vm, src, dest);
+ tungstenElement.commitMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void commitMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.commitMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Mock Clone Instance #cloudstack_MCI_46
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 15
- MO Count: 15
Reusable Method
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_46_1
Test Case Name: applyStaticNatsAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
Nic nic = mock(Nic.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
@@
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
Original Test Code (click to expand)
@Test
public void applyStaticNatsAddRuleSuccessTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_2
Test Case Name: applyStaticNatsAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyStaticNatsAddRuleFailTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Original Test Code (click to expand)
@Test
public void applyStaticNatsAddRuleFailTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_3
Test Case Name: applyStaticNatsRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
Nic nic = mock(Nic.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
List<StaticNatImpl> staticNatList = List.of(staticNat);
@@
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
Original Test Code (click to expand)
@Test
public void applyStaticNatsRevokeRuleSuccessTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_4
Test Case Name: applyStaticNatsRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyStaticNatsRevokeRuleFailTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Original Test Code (click to expand)
@Test
public void applyStaticNatsRevokeRuleFailTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_5
Test Case Name: applyLBRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyLBRulesAddRuleSuccessTest() {
User caller = mock(User.class);
Network network = mock(Network.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleSuccessTest() {
User caller = mock(User.class);
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_6
Test Case Name: applyLBRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyLBRulesAddRuleFailTest() {
Network network = mock(Network.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
Ip ip = mock(Ip.class);
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(80);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_7
Test Case Name: applyLBRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyLBRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
Ip ip1 = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
@@
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip1);
when(ip1.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip1 = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip1);
when(ip1.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_8
Test Case Name: applyLBRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyLBRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
Ip ip = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
List<LoadBalancingRule> loadBalancingRuleList = List.of(loadBalancingRule);
List<LoadBalancerVO> loadBalancerVOList = Arrays.asList(loadBalancerVO1, loadBalancerVO2);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
List<LoadBalancingRule> loadBalancingRuleList = List.of(loadBalancingRule);
List<LoadBalancerVO> loadBalancerVOList = Arrays.asList(loadBalancerVO1, loadBalancerVO2);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_9
Test Case Name: applyPFRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyPFRulesAddRuleSuccessTest() {
Network network = mock(Network.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesAddRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_10
Test Case Name: applyPFRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyPFRulesAddRuleFailTest() {
Network network = mock(Network.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_11
Test Case Name: applyPFRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyPFRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_12
Test Case Name: applyPFRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyPFRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_13
Test Case Name: applyFWRulesWithAddEgressRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyFWRulesWithAddEgressRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Egress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Original Test Code (click to expand)
@Test
public void applyFWRulesWithAddEgressRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Egress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_14
Test Case Name: applyFWRulesWithAddIngressRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyFWRulesWithAddIngressRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
Ip ip = mock(Ip.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findById(anyLong())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Original Test Code (click to expand)
@Test
public void applyFWRulesWithAddIngressRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
Ip ip = mock(Ip.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
when(firewallRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findById(anyLong())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyNetworkPolicyAnswer);
when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Test Case ID #cloudstack_Test_46_15
Test Case Name: applyFWRulesWithRevokeRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void applyFWRulesWithRevokeRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `publicNetwork`
TungstenAnswer deleteNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Revoke);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteNetworkPolicyAnswer);
when(deleteNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Original Test Code (click to expand)
@Test
public void applyFWRulesWithRevokeRuleTest() throws ResourceUnavailableException {
Network network = mock(Network.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(firewallRuleVO.getPurpose()).thenReturn(FirewallRule.Purpose.Firewall);
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteNetworkPolicyAnswer);
when(deleteNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyFWRules(network, List.of(firewallRuleVO)));
}
Reusable Method for MCI (click to expand)
private Network publicNetwork;
@BeforeEach
public void setUp() {
publicNetwork = mock(Network.class);
}
publicNetwork;
Mock Clone Instance #cloudstack_MCI_47
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 5
- MO Count: 5
Reusable Method
private Network managementNetwork;
@BeforeEach
public void setUp() {
managementNetwork = mock(Network.class);
}
managementNetwork;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_47_1
Test Case Name: createManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: managementNetwork
Suggested Diff
@@
@Test
public void createManagementNetworkTest() {
- Network managementNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `managementNetwork`
VirtualNetwork managementVirtualNetwork = mock(VirtualNetwork.class);
VirtualNetwork fabricVirtualNetwork = mock(VirtualNetwork.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer createTungstenNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenDefaultSecurityGroupAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenGlobalVrouterConfigAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenFabricNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createTungstenNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenDefaultSecurityGroupCommand.class), anyLong())).thenReturn(updateTungstenDefaultSecurityGroupAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenVrouterConfigCommand.class), anyLong())).thenReturn(updateTungstenGlobalVrouterConfigAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenFabricNetworkCommand.class), anyLong())).thenReturn(getTungstenFabricNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(createTungstenNetworkAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkAnswer.getApiObjectBase()).thenReturn(managementVirtualNetwork);
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(getTungstenFabricNetworkAnswer.getApiObjectBase()).thenReturn(fabricVirtualNetwork);
when(updateTungstenDefaultSecurityGroupAnswer.getResult()).thenReturn(true);
when(updateTungstenGlobalVrouterConfigAnswer.getResult()).thenReturn(true);
when(getTungstenFabricNetworkAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenService.createManagementNetwork(1L));
}
Original Test Code (click to expand)
@Test
public void createManagementNetworkTest() {
Network managementNetwork = mock(Network.class);
VirtualNetwork managementVirtualNetwork = mock(VirtualNetwork.class);
VirtualNetwork fabricVirtualNetwork = mock(VirtualNetwork.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer createTungstenNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenDefaultSecurityGroupAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenGlobalVrouterConfigAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenFabricNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createTungstenNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenDefaultSecurityGroupCommand.class), anyLong())).thenReturn(updateTungstenDefaultSecurityGroupAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenVrouterConfigCommand.class), anyLong())).thenReturn(updateTungstenGlobalVrouterConfigAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenFabricNetworkCommand.class), anyLong())).thenReturn(getTungstenFabricNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(createTungstenNetworkAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkAnswer.getApiObjectBase()).thenReturn(managementVirtualNetwork);
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(getTungstenFabricNetworkAnswer.getApiObjectBase()).thenReturn(fabricVirtualNetwork);
when(updateTungstenDefaultSecurityGroupAnswer.getResult()).thenReturn(true);
when(updateTungstenGlobalVrouterConfigAnswer.getResult()).thenReturn(true);
when(getTungstenFabricNetworkAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenService.createManagementNetwork(1L));
}
Reusable Method for MCI (click to expand)
private Network managementNetwork;
@BeforeEach
public void setUp() {
managementNetwork = mock(Network.class);
}
managementNetwork;
Test Case ID #cloudstack_Test_47_2
Test Case Name: deleteManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: managementNetwork
Suggested Diff
@@
@Test
public void deleteManagementNetworkTest() {
- Network managementNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `managementNetwork`
TungstenAnswer deleteTungstenManagementPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenFabricNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenFabricPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkAnswer = mock(TungstenAnswer.class);
VirtualNetwork fabricVirtualNetwork = mock(VirtualNetwork.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenManagementPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenFabricNetworkCommand.class), anyLong())).thenReturn(getTungstenFabricNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenFabricPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong())).thenReturn(deleteTungstenNetworkAnswer);
when(getTungstenFabricNetworkAnswer.getApiObjectBase()).thenReturn(fabricVirtualNetwork);
when(deleteTungstenManagementPolicyAnswer.getResult()).thenReturn(true);
when(getTungstenFabricNetworkAnswer.getResult()).thenReturn(true);
when(deleteTungstenFabricPolicyAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkAnswer.getResult()).thenReturn(true);
assertTrue(tungstenService.deleteManagementNetwork(1L));
}
Original Test Code (click to expand)
@Test
public void deleteManagementNetworkTest() {
Network managementNetwork = mock(Network.class);
TungstenAnswer deleteTungstenManagementPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenFabricNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenFabricPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkAnswer = mock(TungstenAnswer.class);
VirtualNetwork fabricVirtualNetwork = mock(VirtualNetwork.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenManagementPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenFabricNetworkCommand.class), anyLong())).thenReturn(getTungstenFabricNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenFabricPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong())).thenReturn(deleteTungstenNetworkAnswer);
when(getTungstenFabricNetworkAnswer.getApiObjectBase()).thenReturn(fabricVirtualNetwork);
when(deleteTungstenManagementPolicyAnswer.getResult()).thenReturn(true);
when(getTungstenFabricNetworkAnswer.getResult()).thenReturn(true);
when(deleteTungstenFabricPolicyAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkAnswer.getResult()).thenReturn(true);
assertTrue(tungstenService.deleteManagementNetwork(1L));
}
Reusable Method for MCI (click to expand)
private Network managementNetwork;
@BeforeEach
public void setUp() {
managementNetwork = mock(Network.class);
}
managementNetwork;
Test Case ID #cloudstack_Test_47_3
Test Case Name: createPublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void createPublicNetworkTest() {
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `managementNetwork`
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer createPublicNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer createFloatingIpPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(managementNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createPublicNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFloatingIpPoolCommand.class), anyLong())).thenReturn(createFloatingIpPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(createPublicNetworkAnswer.getResult()).thenReturn(true);
when(createFloatingIpPoolAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
when(createPublicNetworkAnswer.getApiObjectBase()).thenReturn(virtualNetwork);
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
when(virtualNetwork.getQualifiedName()).thenReturn(Arrays.asList("default-domain", "default-project", "publicNetwork"));
assertTrue(tungstenService.createPublicNetwork(1L));
}
Original Test Code (click to expand)
@Test
public void createPublicNetworkTest() {
Network publicNetwork = mock(Network.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer createPublicNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer createFloatingIpPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createPublicNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFloatingIpPoolCommand.class), anyLong())).thenReturn(createFloatingIpPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(createPublicNetworkAnswer.getResult()).thenReturn(true);
when(createFloatingIpPoolAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
when(createPublicNetworkAnswer.getApiObjectBase()).thenReturn(virtualNetwork);
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
when(virtualNetwork.getQualifiedName()).thenReturn(Arrays.asList("default-domain", "default-project", "publicNetwork"));
assertTrue(tungstenService.createPublicNetwork(1L));
}
Reusable Method for MCI (click to expand)
private Network managementNetwork;
@BeforeEach
public void setUp() {
managementNetwork = mock(Network.class);
}
managementNetwork;
Test Case ID #cloudstack_Test_47_4
Test Case Name: deletePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: publicNetwork
Suggested Diff
@@
@Test
public void deletePublicNetworkTest() {
- Network publicNetwork = mock(Network.class);
+ // removed local mock; replaced with global field `managementNetwork`
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenFloatingIpPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkAnswer = mock(TungstenAnswer.class);
- when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
+ when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(managementNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpPoolCommand.class), anyLong())).thenReturn(deleteTungstenFloatingIpPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong())).thenReturn(deleteTungstenNetworkAnswer);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
when(deleteTungstenFloatingIpPoolAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkAnswer.getResult()).thenReturn(true);
assertTrue(tungstenService.deletePublicNetwork(1L));
}
Original Test Code (click to expand)
@Test
public void deletePublicNetworkTest() {
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenFloatingIpPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkAnswer = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpPoolCommand.class), anyLong())).thenReturn(deleteTungstenFloatingIpPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong())).thenReturn(deleteTungstenNetworkAnswer);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
when(deleteTungstenFloatingIpPoolAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkAnswer.getResult()).thenReturn(true);
assertTrue(tungstenService.deletePublicNetwork(1L));
}
Reusable Method for MCI (click to expand)
private Network managementNetwork;
@BeforeEach
public void setUp() {
managementNetwork = mock(Network.class);
}
managementNetwork;
Test Case ID #cloudstack_Test_47_5
Test Case Name: updateLoadBalancerTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void updateLoadBalancerTest() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `managementNetwork`
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
Network publicNetwork = mock(Network.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
- assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
+ assertTrue(tungstenService.updateLoadBalancer(managementNetwork, loadBalancingRule));
}
Original Test Code (click to expand)
@Test
public void updateLoadBalancerTest() {
Network network = mock(Network.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
Network publicNetwork = mock(Network.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
}
Reusable Method for MCI (click to expand)
private Network managementNetwork;
@BeforeEach
public void setUp() {
managementNetwork = mock(Network.class);
}
managementNetwork;
Mock Clone Instance #cloudstack_MCI_48
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 4
- MO Count: 4
Reusable Method
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_48_1
Test Case Name: testCanDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testCanDesign() {
List<Network.Service> networkOfferingServiceList = new ArrayList<>(Arrays.asList(Network.Service.Connectivity, Network.Service.Dns, Network.Service.Dhcp, Network.Service.SourceNat, Network.Service.StaticNat, Network.Service.UserData));
when(networkModel.listNetworkOfferingServices(anyLong())).thenReturn(networkOfferingServiceList);
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
final Account account = mock(Account.class);
final Network designedNetwork = guru.design(offering, plan, network, account);
assertNotNull(designedNetwork);
assertSame(Networks.BroadcastDomainType.TUNGSTEN, designedNetwork.getBroadcastDomainType());
assertSame(Network.State.Allocated, designedNetwork.getState());
}
Original Test Code (click to expand)
@Test
public void testCanDesign() {
List<Network.Service> networkOfferingServiceList = new ArrayList<>(Arrays.asList(Network.Service.Connectivity, Network.Service.Dns, Network.Service.Dhcp, Network.Service.SourceNat, Network.Service.StaticNat, Network.Service.UserData));
when(networkModel.listNetworkOfferingServices(anyLong())).thenReturn(networkOfferingServiceList);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designedNetwork = guru.design(offering, plan, network, account);
assertNotNull(designedNetwork);
assertSame(Networks.BroadcastDomainType.TUNGSTEN, designedNetwork.getBroadcastDomainType());
assertSame(Network.State.Allocated, designedNetwork.getState());
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_48_2
Test Case Name: testTrash(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testTrash() {
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
guru.trash(network, offering);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(ClearTungstenNetworkGatewayCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong());
verify(tungstenService, times(1)).deallocateDnsIpAddress(any(), any(), anyString());
}
Original Test Code (click to expand)
@Test
public void testTrash() {
final Network network = mock(Network.class);
guru.trash(network, offering);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(ClearTungstenNetworkGatewayCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong());
verify(tungstenService, times(1)).deallocateDnsIpAddress(any(), any(), anyString());
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_48_3
Test Case Name: testRollbackMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testRollbackMigration() {
final NicProfile nic = mock(NicProfile.class);
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- guru.rollbackMigration(nic, network, vmProfile, context, context);
+ guru.rollbackMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testRollbackMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.rollbackMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_48_4
Test Case Name: testCommitMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testCommitMigration() {
final NicProfile nic = mock(NicProfile.class);
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- guru.commitMigration(nic, network, vmProfile, context, context);
+ guru.commitMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testCommitMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.commitMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Mock Clone Instance #cloudstack_MCI_49
- Scope: class level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 9
- MO Count: 9
Reusable Method
public class MockNetwork {
public static Network createMockNetwork(Networks.BroadcastDomainType broadcastDomainType, URI broadcastUri, long id) {
Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
when(network.getBroadcastUri()).thenReturn(broadcastUri);
when(network.getId()).thenReturn(id);
return network;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_49_1
Test Case Name: implementTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
URI uri = URI.create("vlan://123");
- Network network = mock(Network.class);
- when(network.getId()).thenReturn(1L);
- when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
- when(network.getDataCenterId()).thenReturn(1L);
- when(network.getGateway()).thenReturn("1.1.1.1");
- when(network.getBroadcastUri()).thenReturn(uri);
- when(network.getCidr()).thenReturn("1.1.1.0/24");
+ Network network = MockNetwork.createMockNetwork(BroadcastDomainType.Vlan, uri, 1L);
+ when(network.getDataCenterId()).thenReturn(1L);
+ when(network.getGateway()).thenReturn("1.1.1.1");
+ when(network.getCidr()).thenReturn("1.1.1.0/24");
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(1L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
@@
Original Test Code (click to expand)
@Test
public void implementTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getGateway()).thenReturn("1.1.1.1");
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(1L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
DeployDestination dest = mock(DeployDestination.class);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("d1");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("a1");
ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
DataCenter dc = mock(DataCenter.class);
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_entityMgr.findById(DataCenter.class, network.getDataCenterId())).thenReturn(dc);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
CiscoAsa1000vDeviceVO asaVO = mock(CiscoAsa1000vDeviceVO.class);
when(asaVO.getInPortProfile()).thenReturn("foo");
when(asaVO.getManagementIp()).thenReturn("1.2.3.4");
List<CiscoAsa1000vDeviceVO> asaList = new ArrayList<CiscoAsa1000vDeviceVO>();
asaList.add(asaVO);
when(_ciscoAsa1000vDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(asaList);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkAsa1000vMapDao.findByAsa1000vId(anyLong())).thenReturn(null);
when(_networkAsa1000vMapDao.persist(any(NetworkAsa1000vMapVO.class))).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, Provider.CiscoVnmc)).thenReturn(true);
ClusterVSMMapVO clusterVsmMap = mock(ClusterVSMMapVO.class);
when(_clusterVsmMapDao.findByClusterId(anyLong())).thenReturn(clusterVsmMap);
CiscoNexusVSMDeviceVO vsmDevice = mock(CiscoNexusVSMDeviceVO.class);
when(vsmDevice.getUserName()).thenReturn("foo");
when(vsmDevice.getPassword()).thenReturn("bar");
when(vsmDevice.getipaddr()).thenReturn("1.2.3.4");
when(_vsmDeviceDao.findById(anyLong())).thenReturn(vsmDevice);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
PublicIp publicIp = mock(PublicIp.class);
when(publicIp.getAddress()).thenReturn(ip);
when(publicIp.getState()).thenReturn(IpAddress.State.Releasing);
when(publicIp.getAccountId()).thenReturn(1L);
when(publicIp.isSourceNat()).thenReturn(true);
when(publicIp.getVlanTag()).thenReturn("123");
when(publicIp.getGateway()).thenReturn("1.1.1.1");
when(publicIp.getNetmask()).thenReturn("1.1.1.1");
when(publicIp.getMacAddress()).thenReturn(null);
when(publicIp.isOneToOneNat()).thenReturn(true);
when(_ipAddrMgr.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(publicIp);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanGateway()).thenReturn("1.1.1.1");
List<VlanVO> vlanVOList = new ArrayList<VlanVO>();
when(_vlanDao.listVlansByPhysicalNetworkId(network.getPhysicalNetworkId())).thenReturn(vlanVOList);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CreateLogicalEdgeFirewallCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(ConfigureNexusVsmForAsaCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(SetSourceNatCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(AssociateAsaWithLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(Networks.BroadcastDomainType broadcastDomainType, URI broadcastUri, long id) {
Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
when(network.getBroadcastUri()).thenReturn(broadcastUri);
when(network.getId()).thenReturn(id);
return network;
}
}
Test Case ID #cloudstack_Test_49_2
Test Case Name: shutdownTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
URI uri = URI.create("vlan://123");
- Network network = mock(Network.class);
- when(network.getId()).thenReturn(1L);
- when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
- when(network.getDataCenterId()).thenReturn(1L);
- when(network.getBroadcastUri()).thenReturn(uri);
+ Network network = MockNetwork.createMockNetwork(BroadcastDomainType.Vlan, uri, 1L);
+ when(network.getDataCenterId()).thenReturn(1L);
ReservationContext context = mock(ReservationContext.class);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CleanupLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.shutdown(network, context, true));
@@
Original Test Code (click to expand)
@Test
public void shutdownTest() throws ConcurrentOperationException, ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
ReservationContext context = mock(ReservationContext.class);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CleanupLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.shutdown(network, context, true));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(Networks.BroadcastDomainType broadcastDomainType, URI broadcastUri, long id) {
Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
when(network.getBroadcastUri()).thenReturn(broadcastUri);
when(network.getId()).thenReturn(id);
return network;
}
}
Test Case ID #cloudstack_Test_49_3
Test Case Name: applyFWRulesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
URI uri = URI.create("vlan://123");
- Network network = mock(Network.class);
- when(network.getId()).thenReturn(1L);
- when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
- when(network.getDataCenterId()).thenReturn(1L);
- when(network.getBroadcastUri()).thenReturn(uri);
- when(network.getCidr()).thenReturn("1.1.1.0/24");
- when(network.getState()).thenReturn(Network.State.Implemented);
+ Network network = MockNetwork.createMockNetwork(BroadcastDomainType.Vlan, uri, 1L);
+ when(network.getDataCenterId()).thenReturn(1L);
+ when(network.getCidr()).thenReturn("1.1.1.0/24");
+ when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
@@
Original Test Code (click to expand)
@Test
public void applyFWRulesTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.Firewall, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
FirewallRule rule = mock(FirewallRule.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
List<FirewallRule> rules = new ArrayList<FirewallRule>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetFirewallRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyFWRules(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(Networks.BroadcastDomainType broadcastDomainType, URI broadcastUri, long id) {
Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
when(network.getBroadcastUri()).thenReturn(broadcastUri);
when(network.getId()).thenReturn(id);
return network;
}
}
Test Case ID #cloudstack_Test_49_4
Test Case Name: applyPRulesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
URI uri = URI.create("vlan://123");
- Network network = mock(Network.class);
- when(network.getId()).thenReturn(1L);
- when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
- when(network.getDataCenterId()).thenReturn(1L);
- when(network.getBroadcastUri()).thenReturn(uri);
- when(network.getCidr()).thenReturn("1.1.1.0/24");
- when(network.getState()).thenReturn(Network.State.Implemented);
+ Network network = MockNetwork.createMockNetwork(BroadcastDomainType.Vlan, uri, 1L);
+ when(network.getDataCenterId()).thenReturn(1L);
+ when(network.getCidr()).thenReturn("1.1.1.0/24");
+ when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
@@
Original Test Code (click to expand)
@Test
public void applyPRulesTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.PortForwarding, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
PortForwardingRule rule = mock(PortForwardingRule.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestinationIpAddress()).thenReturn(ip);
List<PortForwardingRule> rules = new ArrayList<PortForwardingRule>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetPortForwardingRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyPFRules(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(Networks.BroadcastDomainType broadcastDomainType, URI broadcastUri, long id) {
Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
when(network.getBroadcastUri()).thenReturn(broadcastUri);
when(network.getId()).thenReturn(id);
return network;
}
}
Test Case ID #cloudstack_Test_49_5
Test Case Name: applyStaticNatsTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
URI uri = URI.create("vlan://123");
- Network network = mock(Network.class);
- when(network.getId()).thenReturn(1L);
- when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
- when(network.getDataCenterId()).thenReturn(1L);
- when(network.getBroadcastUri()).thenReturn(uri);
- when(network.getCidr()).thenReturn("1.1.1.0/24");
- when(network.getState()).thenReturn(Network.State.Implemented);
+ Network network = MockNetwork.createMockNetwork(BroadcastDomainType.Vlan, uri, 1L);
+ when(network.getDataCenterId()).thenReturn(1L);
+ when(network.getCidr()).thenReturn("1.1.1.0/24");
+ when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
@@
Original Test Code (click to expand)
@Test
public void applyStaticNatsTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.StaticNat, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
StaticNat rule = mock(StaticNat.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestIpAddress()).thenReturn("1.2.3.4");
when(rule.isForRevoke()).thenReturn(false);
List<StaticNat> rules = new ArrayList<StaticNat>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetStaticNatRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyStaticNats(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(Networks.BroadcastDomainType broadcastDomainType, URI broadcastUri, long id) {
Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
when(network.getBroadcastUri()).thenReturn(broadcastUri);
when(network.getId()).thenReturn(id);
return network;
}
}
Test Case ID #cloudstack_Test_49_6
Test Case Name: implementIsolatedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
public void implementIsolatedNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException, URISyntaxException {
- final Network network = mock(Network.class);
- when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
- when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
- when(network.getId()).thenReturn(NETWORK_ID);
- when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
- when(network.getGuestType()).thenReturn(GuestType.Isolated);
+ final Network network = MockNetwork.createMockNetwork(BroadcastDomainType.Lswitch, new URI("lswitch:aaaaa"), NETWORK_ID);
+ when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
+ when(network.getGuestType()).thenReturn(GuestType.Isolated);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
//ISOLATED NETWORK
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("10.0.0.0");
when(sourceNatIp.getAddress()).thenReturn(ip);
when(sourceNatIp.getVlanNetmask()).thenReturn("255.255.255.0");
when(sourceNatIp.getVlanTag()).thenReturn("111");
when(ipAddressManager.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(sourceNatIp);
+ when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
+ when(network.getCidr()).thenReturn(NETWORK_CIDR);
final CreateLogicalRouterAnswer answer = mock(CreateLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
@@
Original Test Code (click to expand)
@Test
public void implementIsolatedNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException, URISyntaxException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Isolated);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("10.0.0.0");
when(sourceNatIp.getAddress()).thenReturn(ip);
when(sourceNatIp.getVlanNetmask()).thenReturn("255.255.255.0");
when(sourceNatIp.getVlanTag()).thenReturn("111");
when(ipAddressManager.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(sourceNatIp);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
final CreateLogicalRouterAnswer answer = mock(CreateLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(Networks.BroadcastDomainType broadcastDomainType, URI broadcastUri, long id) {
Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
when(network.getBroadcastUri()).thenReturn(broadcastUri);
when(network.getId()).thenReturn(id);
return network;
}
}
Test Case ID #cloudstack_Test_49_7
Test Case Name: implementSharedNetworkUuidVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
// SHARED NETWORKS CASE 1: LOGICAL ROUTER'S UUID AS VLAN ID
- final Network network = mock(Network.class);
- when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
- when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
- when(network.getId()).thenReturn(NETWORK_ID);
+ final Network network = MockNetwork.createMockNetwork(BroadcastDomainType.Lswitch, new URI("lswitch:aaaaa"), NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
//SHARED NETWORKS CASE 1
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(true);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
NiciraNvpRouterMappingVO mapping = mock(NiciraNvpRouterMappingVO.class);
when(mapping.getLogicalRouterUuid()).thenReturn("xxxx-xxxx-xxxx");
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(mapping);
final ConfigureSharedNetworkUuidAnswer answer = mock(ConfigureSharedNetworkUuidAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
@@
Original Test Code (click to expand)
@Test
public void implementSharedNetworkUuidVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(true);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
NiciraNvpRouterMappingVO mapping = mock(NiciraNvpRouterMappingVO.class);
when(mapping.getLogicalRouterUuid()).thenReturn("xxxx-xxxx-xxxx");
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(mapping);
final ConfigureSharedNetworkUuidAnswer answer = mock(ConfigureSharedNetworkUuidAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(Networks.BroadcastDomainType broadcastDomainType, URI broadcastUri, long id) {
Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
when(network.getBroadcastUri()).thenReturn(broadcastUri);
when(network.getId()).thenReturn(id);
return network;
}
}
Test Case ID #cloudstack_Test_49_8
Test Case Name: implementSharedNetworkNumericalVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
// SHARED NETWORKS CASE 2: NUMERICAL VLAN ID
-final Network network = mock(Network.class);
-when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
-when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
-when(network.getId()).thenReturn(NETWORK_ID);
-when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
-when(network.getGuestType()).thenReturn(GuestType.Shared);
+final Network network = MockNetwork.createMockNetwork(BroadcastDomainType.Lswitch, new URI("lswitch:aaaaa"), NETWORK_ID);
+when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
+when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
@@
Original Test Code (click to expand)
@Test
public void implementSharedNetworkNumericalVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn("bbbb-bbbb-bbbb");
final ConfigureSharedNetworkVlanIdAnswer answer = mock(ConfigureSharedNetworkVlanIdAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(Networks.BroadcastDomainType broadcastDomainType, URI broadcastUri, long id) {
Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
when(network.getBroadcastUri()).thenReturn(broadcastUri);
when(network.getId()).thenReturn(id);
return network;
}
}
Test Case ID #cloudstack_Test_49_9
Test Case Name: implementSharedNetworkNumericalVlanIdWithoutL2GatewayService(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
- final Network network = mock(Network.class);
- when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
- when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
- when(network.getId()).thenReturn(NETWORK_ID);
- when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
- when(network.getGuestType()).thenReturn(GuestType.Shared);
+ final Network network = MockNetwork.createMockNetwork(BroadcastDomainType.Lswitch, new URI("lswitch:aaaaa"), NETWORK_ID);
+ when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
+ when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void implementSharedNetworkNumericalVlanIdWithoutL2GatewayService() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn(null);
element.implement(network, offering, dest, context);
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(Networks.BroadcastDomainType broadcastDomainType, URI broadcastUri, long id) {
Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
when(network.getBroadcastUri()).thenReturn(broadcastUri);
when(network.getId()).thenReturn(id);
return network;
}
}
Mock Clone Instance #cloudstack_MCI_50
- Scope: class level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 2
- MO Count: 3
Reusable Method
public class MockNetwork {
public static Network createMockNetwork(long id, Networks.BroadcastDomainType broadcastDomainType) {
Network network = mock(Network.class);
when(network.getId()).thenReturn(id);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
return network;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_50_1
Test Case Name: canHandleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void canHandleTest() {
- Network network = mock(Network.class);
- when(network.getId()).thenReturn(1L);
- when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
+ Network network = MockNetwork.createMockNetwork(1L, BroadcastDomainType.Vlan);
assertTrue(_element.canHandle(network));
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.UnDecided);
assertFalse(_element.canHandle(network));
}
Original Test Code (click to expand)
@Test
public void canHandleTest() {
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
assertTrue(_element.canHandle(network));
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.UnDecided);
assertFalse(_element.canHandle(network));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(long id, Networks.BroadcastDomainType broadcastDomainType) {
Network network = mock(Network.class);
when(network.getId()).thenReturn(id);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
return network;
}
}
Test Case ID #cloudstack_Test_50_2
Test Case Name: canHandleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: net
Suggested Diff
@@
public void canHandleTest() {
- final Network net = mock(Network.class);
- when(net.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
- when(net.getId()).thenReturn(NETWORK_ID);
+ final Network net = MockNetwork.createMockNetwork(NETWORK_ID, BroadcastDomainType.Lswitch);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
// Golden path
assertTrue(element.canHandle(net, Service.Connectivity));
when(net.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
// Only broadcastdomaintype lswitch is supported
assertFalse(element.canHandle(net, Service.Connectivity));
when(net.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(false);
// No nvp provider in the network
assertFalse(element.canHandle(net, Service.Connectivity));
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(false);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
// NVP provider does not provide Connectivity for this network
assertFalse(element.canHandle(net, Service.Connectivity));
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
// Only service Connectivity is supported
assertFalse(element.canHandle(net, Service.Dhcp));
}
Original Test Code (click to expand)
@Test
public void canHandleTest() {
final Network net = mock(Network.class);
when(net.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(net.getId()).thenReturn(NETWORK_ID);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
assertTrue(element.canHandle(net, Service.Connectivity));
when(net.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
assertFalse(element.canHandle(net, Service.Connectivity));
when(net.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(false);
assertFalse(element.canHandle(net, Service.Connectivity));
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(false);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
assertFalse(element.canHandle(net, Service.Connectivity));
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
assertFalse(element.canHandle(net, Service.Dhcp));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(long id, Networks.BroadcastDomainType broadcastDomainType) {
Network network = mock(Network.class);
when(network.getId()).thenReturn(id);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
return network;
}
}
Test Case ID #cloudstack_Test_50_3
Test Case Name: applyIpTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void applyIpTest() throws ResourceUnavailableException {
- final Network network = mock(Network.class);
- when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
- when(network.getId()).thenReturn(NETWORK_ID);
- when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
+ final Network network = MockNetwork.createMockNetwork(NETWORK_ID, BroadcastDomainType.Lswitch);
+ when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final List<PublicIpAddress> ipAddresses = new ArrayList<PublicIpAddress>();
final PublicIpAddress pipReleased = mock(PublicIpAddress.class);
final PublicIpAddress pipAllocated = mock(PublicIpAddress.class);
final Ip ipReleased = new Ip("42.10.10.10");
final Ip ipAllocated = new Ip("10.10.10.10");
when(pipAllocated.getState()).thenReturn(IpAddress.State.Allocated);
when(pipAllocated.getAddress()).thenReturn(ipAllocated);
when(pipAllocated.getNetmask()).thenReturn("255.255.255.0");
when(pipReleased.getState()).thenReturn(IpAddress.State.Releasing);
when(pipReleased.getAddress()).thenReturn(ipReleased);
when(pipReleased.getNetmask()).thenReturn("255.255.255.0");
ipAddresses.add(pipAllocated);
ipAddresses.add(pipReleased);
final Set<Service> services = new HashSet<Service>();
services.add(Service.SourceNat);
services.add(Service.StaticNat);
services.add(Service.PortForwarding);
final List<NiciraNvpDeviceVO> deviceList = new ArrayList<NiciraNvpDeviceVO>();
final NiciraNvpDeviceVO nndVO = mock(NiciraNvpDeviceVO.class);
final NiciraNvpRouterMappingVO nnrmVO = mock(NiciraNvpRouterMappingVO.class);
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(nnrmVO);
when(nnrmVO.getLogicalRouterUuid()).thenReturn("abcde");
when(nndVO.getHostId()).thenReturn(NETWORK_ID);
final HostVO hvo = mock(HostVO.class);
when(hvo.getId()).thenReturn(NETWORK_ID);
when(hvo.getDetail("l3gatewayserviceuuid")).thenReturn("abcde");
when(hostDao.findById(NETWORK_ID)).thenReturn(hvo);
deviceList.add(nndVO);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(deviceList);
final ConfigurePublicIpsOnLogicalRouterAnswer answer = mock(ConfigurePublicIpsOnLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NETWORK_ID), any(ConfigurePublicIpsOnLogicalRouterCommand.class))).thenReturn(answer);
assertTrue(element.applyIps(network, ipAddresses, services));
verify(agentManager, atLeast(1)).easySend(eq(NETWORK_ID), argThat(new ArgumentMatcher<ConfigurePublicIpsOnLogicalRouterCommand>() {
@Override
public boolean matches(final ConfigurePublicIpsOnLogicalRouterCommand command) {
return command.getPublicCidrs().size() == 1;
}
}));
}
Original Test Code (click to expand)
@Test
public void applyIpTest() throws ResourceUnavailableException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final List<PublicIpAddress> ipAddresses = new ArrayList<PublicIpAddress>();
final PublicIpAddress pipReleased = mock(PublicIpAddress.class);
final PublicIpAddress pipAllocated = mock(PublicIpAddress.class);
final Ip ipReleased = new Ip("42.10.10.10");
final Ip ipAllocated = new Ip("10.10.10.10");
when(pipAllocated.getState()).thenReturn(IpAddress.State.Allocated);
when(pipAllocated.getAddress()).thenReturn(ipAllocated);
when(pipAllocated.getNetmask()).thenReturn("255.255.255.0");
when(pipReleased.getState()).thenReturn(IpAddress.State.Releasing);
when(pipReleased.getAddress()).thenReturn(ipReleased);
when(pipReleased.getNetmask()).thenReturn("255.255.255.0");
ipAddresses.add(pipAllocated);
ipAddresses.add(pipReleased);
final Set<Service> services = new HashSet<Service>();
services.add(Service.SourceNat);
services.add(Service.StaticNat);
services.add(Service.PortForwarding);
final List<NiciraNvpDeviceVO> deviceList = new ArrayList<NiciraNvpDeviceVO>();
final NiciraNvpDeviceVO nndVO = mock(NiciraNvpDeviceVO.class);
final NiciraNvpRouterMappingVO nnrmVO = mock(NiciraNvpRouterMappingVO.class);
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(nnrmVO);
when(nnrmVO.getLogicalRouterUuid()).thenReturn("abcde");
when(nndVO.getHostId()).thenReturn(NETWORK_ID);
final HostVO hvo = mock(HostVO.class);
when(hvo.getId()).thenReturn(NETWORK_ID);
when(hvo.getDetail("l3gatewayserviceuuid")).thenReturn("abcde");
when(hostDao.findById(NETWORK_ID)).thenReturn(hvo);
deviceList.add(nndVO);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(deviceList);
final ConfigurePublicIpsOnLogicalRouterAnswer answer = mock(ConfigurePublicIpsOnLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NETWORK_ID), any(ConfigurePublicIpsOnLogicalRouterCommand.class))).thenReturn(answer);
assertTrue(element.applyIps(network, ipAddresses, services));
verify(agentManager, atLeast(1)).easySend(eq(NETWORK_ID), argThat(new ArgumentMatcher<ConfigurePublicIpsOnLogicalRouterCommand>() {
@Override
public boolean matches(final ConfigurePublicIpsOnLogicalRouterCommand command) {
return command.getPublicCidrs().size() == 1;
}
}));
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(long id, Networks.BroadcastDomainType broadcastDomainType) {
Network network = mock(Network.class);
when(network.getId()).thenReturn(id);
when(network.getBroadcastDomainType()).thenReturn(broadcastDomainType);
return network;
}
}
Mock Clone Instance #cloudstack_MCI_51
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static Network createMockNetwork(long id) {
Network network = Mockito.mock(Network.class);
when(network.getId()).thenReturn(id);
return network;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_51_1
Test Case Name: testCanHandle(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\element\VirtualRouterElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
public void testCanHandle() {
- Network network = Mockito.mock(Network.class);
+ Network network = createMockNetwork(networkId);
final long networkId = 1;
final long physicalNetworkId = 42;
final long networkOfferingId = 10;
final long dataCenterId = 33;
- when(network.getId()).thenReturn(networkId);
lenient().when(network.getPhysicalNetworkId()).thenReturn(physicalNetworkId);
lenient().when(network.getTrafficType()).thenReturn(TrafficType.Guest);
lenient().when(network.getNetworkOfferingId()).thenReturn(networkOfferingId);
lenient().when(network.getDataCenterId()).thenReturn(dataCenterId);
when(network.getVpcId()).thenReturn(null);
when(virtualRouterElement._networkMdl.getPhysicalNetworkId(network)).thenReturn(physicalNetworkId);
when(virtualRouterElement._networkMdl.isProviderEnabledInPhysicalNetwork(physicalNetworkId, Network.Provider.VirtualRouter.getName())).thenReturn(true);
when(virtualRouterElement._networkMdl.isProviderForNetwork(Network.Provider.VirtualRouter, networkId)).thenReturn(true);
assertTrue(virtualRouterElement.canHandle(network, null));
@@
Original Test Code (click to expand)
@Test
public void testCanHandle() {
Network network = Mockito.mock(Network.class);
final long networkId = 1;
final long physicalNetworkId = 42;
final long networkOfferingId = 10;
final long dataCenterId = 33;
when(network.getId()).thenReturn(networkId);
lenient().when(network.getPhysicalNetworkId()).thenReturn(physicalNetworkId);
lenient().when(network.getTrafficType()).thenReturn(TrafficType.Guest);
lenient().when(network.getNetworkOfferingId()).thenReturn(networkOfferingId);
lenient().when(network.getDataCenterId()).thenReturn(dataCenterId);
when(network.getVpcId()).thenReturn(null);
when(virtualRouterElement._networkMdl.getPhysicalNetworkId(network)).thenReturn(physicalNetworkId);
when(virtualRouterElement._networkMdl.isProviderEnabledInPhysicalNetwork(physicalNetworkId, Network.Provider.VirtualRouter.getName())).thenReturn(true);
when(virtualRouterElement._networkMdl.isProviderForNetwork(Network.Provider.VirtualRouter, networkId)).thenReturn(true);
assertTrue(virtualRouterElement.canHandle(network, null));
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(long id) {
Network network = Mockito.mock(Network.class);
when(network.getId()).thenReturn(id);
return network;
}
Test Case ID #cloudstack_Test_51_2
Test Case Name: testAddPasswordAndUserdata(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\element\VirtualRouterElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
public void testAddPasswordAndUserdata() throws Exception {
- Network network = Mockito.mock(Network.class);
+ Network network = createMockNetwork(networkId);
VirtualMachineProfile vm = Mockito.mock(VirtualMachineProfile.class);
NicProfile nic = Mockito.mock(NicProfile.class);
DeployDestination dest = Mockito.mock(DeployDestination.class);
ReservationContext context = Mockito.mock(ReservationContext.class);
Service service = Service.UserData;
final long networkId = 1;
final long physicalNetworkId = 42;
final long networkOfferingId = 10;
final long dataCenterId = 33;
- when(network.getId()).thenReturn(networkId);
lenient().when(network.getPhysicalNetworkId()).thenReturn(physicalNetworkId);
lenient().when(network.getTrafficType()).thenReturn(TrafficType.Guest);
lenient().when(network.getNetworkOfferingId()).thenReturn(networkOfferingId);
lenient().when(network.getDataCenterId()).thenReturn(dataCenterId);
when(network.getVpcId()).thenReturn(null);
lenient().when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(virtualRouterElement._networkMdl.getPhysicalNetworkId(network)).thenReturn(physicalNetworkId);
when(virtualRouterElement._networkMdl.isProviderEnabledInPhysicalNetwork(physicalNetworkId, Network.Provider.VirtualRouter.getName())).thenReturn(true);
when(virtualRouterElement._networkMdl.isProviderSupportServiceInNetwork(networkId, service, Network.Provider.VirtualRouter)).thenReturn(true);
lenient().when(virtualRouterElement._dcDao.findById(dataCenterId)).thenReturn(Mockito.mock(DataCenterVO.class));
when(virtualRouterElement.canHandle(network, service)).thenReturn(false);
assertTrue(virtualRouterElement.addPasswordAndUserdata(network, nic, vm, dest, context));
@@
Original Test Code (click to expand)
@Test
public void testAddPasswordAndUserdata() throws Exception {
Network network = Mockito.mock(Network.class);
VirtualMachineProfile vm = Mockito.mock(VirtualMachineProfile.class);
NicProfile nic = Mockito.mock(NicProfile.class);
DeployDestination dest = Mockito.mock(DeployDestination.class);
ReservationContext context = Mockito.mock(ReservationContext.class);
Service service = Service.UserData;
final long networkId = 1;
final long physicalNetworkId = 42;
final long networkOfferingId = 10;
final long dataCenterId = 33;
when(network.getId()).thenReturn(networkId);
lenient().when(network.getPhysicalNetworkId()).thenReturn(physicalNetworkId);
lenient().when(network.getTrafficType()).thenReturn(TrafficType.Guest);
lenient().when(network.getNetworkOfferingId()).thenReturn(networkOfferingId);
lenient().when(network.getDataCenterId()).thenReturn(dataCenterId);
when(network.getVpcId()).thenReturn(null);
lenient().when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(virtualRouterElement._networkMdl.getPhysicalNetworkId(network)).thenReturn(physicalNetworkId);
when(virtualRouterElement._networkMdl.isProviderEnabledInPhysicalNetwork(physicalNetworkId, Network.Provider.VirtualRouter.getName())).thenReturn(true);
when(virtualRouterElement._networkMdl.isProviderSupportServiceInNetwork(networkId, service, Network.Provider.VirtualRouter)).thenReturn(true);
lenient().when(virtualRouterElement._dcDao.findById(dataCenterId)).thenReturn(Mockito.mock(DataCenterVO.class));
when(virtualRouterElement.canHandle(network, service)).thenReturn(false);
assertTrue(virtualRouterElement.addPasswordAndUserdata(network, nic, vm, dest, context));
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(long id) {
Network network = Mockito.mock(Network.class);
when(network.getId()).thenReturn(id);
return network;
}
Mock Clone Instance #cloudstack_MCI_52
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 6
- MO Count: 6
Reusable Method
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_52_1
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testConfigureNicProfileBasedOnRequestedIpTestMacNull() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, "192.168.100.1", "255.255.255.0", "00-88-14-4D-4C-FB", requestedNicProfile, null, "192.168.100.150");
testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert("192.168.100.150", "192.168.100.1", "255.255.255.0", nicProfile, 1, 1);
}
Original Test Code (click to expand)
@Test
public void testConfigureNicProfileBasedOnRequestedIpTestMacNull() {
Network network = mock(Network.class);
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, "192.168.100.1", "255.255.255.0", "00-88-14-4D-4C-FB", requestedNicProfile, null, "192.168.100.150");
testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert("192.168.100.150", "192.168.100.1", "255.255.255.0", nicProfile, 1, 1);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_52_2
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testConfigureNicProfileBasedOnRequestedIpTestNicProfileMacNotNull() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, "192.168.100.1", "255.255.255.0", "00-88-14-4D-4C-FB", requestedNicProfile, "00-88-14-4D-4C-FB", "192.168.100.150");
testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert("192.168.100.150", "192.168.100.1", "255.255.255.0", nicProfile, 1, 0);
}
Original Test Code (click to expand)
@Test
public void testConfigureNicProfileBasedOnRequestedIpTestNicProfileMacNotNull() {
Network network = mock(Network.class);
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, "192.168.100.1", "255.255.255.0", "00-88-14-4D-4C-FB", requestedNicProfile, "00-88-14-4D-4C-FB", "192.168.100.150");
testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert("192.168.100.150", "192.168.100.1", "255.255.255.0", nicProfile, 1, 0);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_52_3
Mock Object Variable Name: network
Suggested Diff
@@
private void testConfigureNicProfileBasedOnRequestedIpTestRequestedIp(String requestedIpv4Address) {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, "192.168.100.1", "255.255.255.0", "00-88-14-4D-4C-FB", requestedNicProfile, null, requestedIpv4Address);
- testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
+ testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert(null, null, null, nicProfile, 0, 0);
}
Original Test Code (click to expand)
private void testConfigureNicProfileBasedOnRequestedIpTestRequestedIp(String requestedIpv4Address) {
Network network = mock(Network.class);
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, "192.168.100.1", "255.255.255.0", "00-88-14-4D-4C-FB", requestedNicProfile, null, requestedIpv4Address);
testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert(null, null, null, nicProfile, 0, 0);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_52_4
Mock Object Variable Name: network
Suggested Diff
@@
private void testConfigureNicProfileBasedOnRequestedIpTestGateway(String ipv4Gateway) {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, ipv4Gateway, "255.255.255.0", "00-88-14-4D-4C-FB", requestedNicProfile, "00-88-14-4D-4C-FB", "192.168.100.150");
testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert(null, null, null, nicProfile, 1, 0);
}
Original Test Code (click to expand)
private void testConfigureNicProfileBasedOnRequestedIpTestGateway(String ipv4Gateway) {
Network network = mock(Network.class);
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, ipv4Gateway, "255.255.255.0", "00-88-14-4D-4C-FB", requestedNicProfile, "00-88-14-4D-4C-FB", "192.168.100.150");
testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert(null, null, null, nicProfile, 1, 0);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_52_5
Mock Object Variable Name: network
Suggested Diff
@@
private void testConfigureNicProfileBasedOnRequestedIpTestNetmask(String ipv4Netmask) {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, "192.168.100.1", ipv4Netmask, "00-88-14-4D-4C-FB", requestedNicProfile, "00-88-14-4D-4C-FB", "192.168.100.150");
testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert(null, null, null, nicProfile, 1, 0);
}
Original Test Code (click to expand)
private void testConfigureNicProfileBasedOnRequestedIpTestNetmask(String ipv4Netmask) {
Network network = mock(Network.class);
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, "192.168.100.1", ipv4Netmask, "00-88-14-4D-4C-FB", requestedNicProfile, "00-88-14-4D-4C-FB", "192.168.100.150");
testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert(null, null, null, nicProfile, 1, 0);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_52_6
Mock Object Variable Name: network
Suggested Diff
@@
@Test(expected = InvalidParameterValueException.class)
public void testConfigureNicProfileBasedOnRequestedIpTestIPAddressVONull() {
- Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, "192.168.100.1", "255.255.255.0", "00-88-14-4D-4C-FB", requestedNicProfile, "00-88-14-4D-4C-FB", "192.168.100.150");
when(testOrchastrator._vlanDao.findByNetworkIdAndIpv4(Mockito.anyLong(), Mockito.anyString())).thenReturn(null);
- testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
+ testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert(null, null, null, nicProfile, 0, 0);
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testConfigureNicProfileBasedOnRequestedIpTestIPAddressVONull() {
Network network = mock(Network.class);
NicProfile requestedNicProfile = new NicProfile();
NicProfile nicProfile = Mockito.spy(new NicProfile());
configureTestConfigureNicProfileBasedOnRequestedIpTests(nicProfile, 0l, false, IPAddressVO.State.Free, "192.168.100.1", "255.255.255.0", "00-88-14-4D-4C-FB", requestedNicProfile, "00-88-14-4D-4C-FB", "192.168.100.150");
when(testOrchastrator._vlanDao.findByNetworkIdAndIpv4(Mockito.anyLong(), Mockito.anyString())).thenReturn(null);
testOrchastrator.configureNicProfileBasedOnRequestedIp(requestedNicProfile, nicProfile, network);
verifyAndAssert(null, null, null, nicProfile, 0, 0);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Mock Clone Instance #cloudstack_MCI_53
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static Network createMockNetwork(long dataCenterIdReturn) {
Network network = mock(Network.class);
when(network.getDataCenterId()).thenReturn(dataCenterIdReturn);
when(network.getId()).thenReturn(1l);
return network;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_53_1
Test Case Name: testUpperCaseCharactersAreNotAllowed(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\globodns\src\test\java\com\globo\globodns\cloudstack\element\GloboDnsElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test(expected = InvalidParameterValueException.class)
public void testUpperCaseCharactersAreNotAllowed() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
- Network network = mock(Network.class);
- when(network.getDataCenterId()).thenReturn(zoneId);
- when(network.getId()).thenReturn(1l);
+ Network network = createMockNetwork(zoneId);
NicProfile nic = new NicProfile();
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn("UPPERCASENAME");
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(_datacenterDao.findById(zoneId)).thenReturn(mock(DataCenterVO.class));
DeployDestination dest = new DeployDestination();
ReservationContext context = new ReservationContextImpl(null, null, user);
_globodnsElement.prepare(network, nic, vm, dest, context);
}
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testUpperCaseCharactersAreNotAllowed() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
Network network = mock(Network.class);
when(network.getDataCenterId()).thenReturn(zoneId);
when(network.getId()).thenReturn(1l);
NicProfile nic = new NicProfile();
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn("UPPERCASENAME");
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(_datacenterDao.findById(zoneId)).thenReturn(mock(DataCenterVO.class));
DeployDestination dest = new DeployDestination();
ReservationContext context = new ReservationContextImpl(null, null, user);
_globodnsElement.prepare(network, nic, vm, dest, context);
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(long dataCenterIdReturn) {
Network network = mock(Network.class);
when(network.getDataCenterId()).thenReturn(dataCenterIdReturn);
when(network.getId()).thenReturn(1l);
return network;
}
Test Case ID #cloudstack_Test_53_2
Test Case Name: testPrepareMethodCallGloboDnsToRegisterHostName(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\globodns\src\test\java\com\globo\globodns\cloudstack\element\GloboDnsElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testPrepareMethodCallGloboDnsToRegisterHostName() throws Exception {
- Network network = mock(Network.class);
- when(network.getDataCenterId()).thenReturn(zoneId);
- when(network.getId()).thenReturn(1l);
+ Network network = createMockNetwork(zoneId);
NicProfile nic = new NicProfile();
nic.setIPv4Address("10.11.12.13");
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn("vm-name");
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterVO.getId()).thenReturn(zoneId);
when(_datacenterDao.findById(zoneId)).thenReturn(dataCenterVO);
DeployDestination dest = new DeployDestination();
ReservationContext context = new ReservationContextImpl(null, null, user);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(globoDnsHostId);
when(_hostDao.findByTypeNameAndZoneId(eq(zoneId), eq(Provider.GloboDns.getName()), eq(Type.L2Networking))).thenReturn(hostVO);
when(_agentMgr.easySend(eq(globoDnsHostId), isA(CreateOrUpdateRecordAndReverseCommand.class))).then(new org.mockito.stubbing.Answer<Answer>() {
@Override
public Answer answer(InvocationOnMock invocation) throws Throwable {
Command cmd = (Command) invocation.getArguments()[1];
return new Answer(cmd);
}
});
_globodnsElement.prepare(network, nic, vm, dest, context);
verify(_agentMgr, times(1)).easySend(eq(globoDnsHostId), isA(CreateOrUpdateRecordAndReverseCommand.class));
}
Original Test Code (click to expand)
@Test
public void testPrepareMethodCallGloboDnsToRegisterHostName() throws Exception {
Network network = mock(Network.class);
when(network.getDataCenterId()).thenReturn(zoneId);
when(network.getId()).thenReturn(1l);
NicProfile nic = new NicProfile();
nic.setIPv4Address("10.11.12.13");
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn("vm-name");
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterVO.getId()).thenReturn(zoneId);
when(_datacenterDao.findById(zoneId)).thenReturn(dataCenterVO);
DeployDestination dest = new DeployDestination();
ReservationContext context = new ReservationContextImpl(null, null, user);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(globoDnsHostId);
when(_hostDao.findByTypeNameAndZoneId(eq(zoneId), eq(Provider.GloboDns.getName()), eq(Type.L2Networking))).thenReturn(hostVO);
when(_agentMgr.easySend(eq(globoDnsHostId), isA(CreateOrUpdateRecordAndReverseCommand.class))).then(new org.mockito.stubbing.Answer<Answer>() {
@Override
public Answer answer(InvocationOnMock invocation) throws Throwable {
Command cmd = (Command) invocation.getArguments()[1];
return new Answer(cmd);
}
});
_globodnsElement.prepare(network, nic, vm, dest, context);
verify(_agentMgr, times(1)).easySend(eq(globoDnsHostId), isA(CreateOrUpdateRecordAndReverseCommand.class));
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(long dataCenterIdReturn) {
Network network = mock(Network.class);
when(network.getDataCenterId()).thenReturn(dataCenterIdReturn);
when(network.getId()).thenReturn(1l);
return network;
}
Test Case ID #cloudstack_Test_53_3
Test Case Name: testReleaseMethodCallResource(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\globodns\src\test\java\com\globo\globodns\cloudstack\element\GloboDnsElementTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
@Test
public void testReleaseMethodCallResource() throws Exception {
- Network network = mock(Network.class);
- when(network.getDataCenterId()).thenReturn(zoneId);
- when(network.getId()).thenReturn(1l);
+ Network network = createMockNetwork(zoneId);
NicProfile nic = new NicProfile();
nic.setIPv4Address("10.11.12.13");
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn("vm-name");
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterVO.getId()).thenReturn(zoneId);
when(_datacenterDao.findById(zoneId)).thenReturn(dataCenterVO);
ReservationContext context = new ReservationContextImpl(null, null, user);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(globoDnsHostId);
when(_hostDao.findByTypeNameAndZoneId(eq(zoneId), eq(Provider.GloboDns.getName()), eq(Type.L2Networking))).thenReturn(hostVO);
when(_agentMgr.easySend(eq(globoDnsHostId), isA(RemoveRecordCommand.class))).then(new org.mockito.stubbing.Answer<Answer>() {
@Override
public Answer answer(InvocationOnMock invocation) throws Throwable {
Command cmd = (Command) invocation.getArguments()[1];
return new Answer(cmd);
}
});
_globodnsElement.release(network, nic, vm, context);
verify(_agentMgr, times(1)).easySend(eq(globoDnsHostId), isA(RemoveRecordCommand.class));
}
@@
Original Test Code (click to expand)
@Test
public void testReleaseMethodCallResource() throws Exception {
Network network = mock(Network.class);
when(network.getDataCenterId()).thenReturn(zoneId);
when(network.getId()).thenReturn(1l);
NicProfile nic = new NicProfile();
nic.setIPv4Address("10.11.12.13");
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn("vm-name");
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterVO.getId()).thenReturn(zoneId);
when(_datacenterDao.findById(zoneId)).thenReturn(dataCenterVO);
ReservationContext context = new ReservationContextImpl(null, null, user);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(globoDnsHostId);
when(_hostDao.findByTypeNameAndZoneId(eq(zoneId), eq(Provider.GloboDns.getName()), eq(Type.L2Networking))).thenReturn(hostVO);
when(_agentMgr.easySend(eq(globoDnsHostId), isA(RemoveRecordCommand.class))).then(new org.mockito.stubbing.Answer<Answer>() {
@Override
public Answer answer(InvocationOnMock invocation) throws Throwable {
Command cmd = (Command) invocation.getArguments()[1];
return new Answer(cmd);
}
});
_globodnsElement.release(network, nic, vm, context);
verify(_agentMgr, times(1)).easySend(eq(globoDnsHostId), isA(RemoveRecordCommand.class));
}
Reusable Method for MCI (click to expand)
private static Network createMockNetwork(long dataCenterIdReturn) {
Network network = mock(Network.class);
when(network.getDataCenterId()).thenReturn(dataCenterIdReturn);
when(network.getId()).thenReturn(1l);
return network;
}
Mock Clone Instance #cloudstack_MCI_54
- Scope: class level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockNetwork {
public static Network createMockNetwork(String dns1, String dns2, String ip6Dns1, String ip6Dns2) {
Network network = Mockito.mock(Network.class);
Mockito.when(network.getDns1()).thenReturn(dns1);
Mockito.when(network.getDns2()).thenReturn(dns2);
Mockito.when(network.getIp6Dns1()).thenReturn(ip6Dns1);
Mockito.when(network.getIp6Dns2()).thenReturn(ip6Dns2);
return network;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_54_1
Test Case Name: testDesignDns(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\guru\DirectNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
when(plan.getPhysicalNetworkId()).thenReturn(1l);
when(physicalNetworkDao.findById(physicalNetwork.getId())).thenReturn(physicalNetwork);
when(offering.isRedundantRouter()).thenReturn(false);
- when(network.getDns1()).thenReturn(ip4Dns[0]);
- when(network.getDns2()).thenReturn(ip4Dns[1]);
- when(network.getIp6Dns1()).thenReturn(ip6Dns[0]);
- when(network.getIp6Dns2()).thenReturn(ip6Dns[1]);
+ network = MockNetwork.createMockNetwork(ip4Dns[0], ip4Dns[1], ip6Dns[0], ip6Dns[1]);
when(networkModel.areServicesSupportedByNetworkOffering(offering.getId(), Network.Service.SecurityGroup)).thenReturn(false);
Network config = guru.design(offering, plan, network, owner);
assertNotNull(config);
assertEquals(ip4Dns[0], config.getDns1());
assertEquals(ip4Dns[1], config.getDns2());
assertEquals(ip6Dns[0], config.getIp6Dns1());
assertEquals(ip6Dns[1], config.getIp6Dns2());
}
Original Test Code (click to expand)
@Test
public void testDesignDns() {
when(dcDao.findById(dc.getId())).thenReturn(dc);
when(plan.getDataCenterId()).thenReturn(1l);
when(plan.getPhysicalNetworkId()).thenReturn(1l);
when(physicalNetworkDao.findById(physicalNetwork.getId())).thenReturn(physicalNetwork);
when(offering.isRedundantRouter()).thenReturn(false);
when(network.getDns1()).thenReturn(ip4Dns[0]);
when(network.getDns2()).thenReturn(ip4Dns[1]);
when(network.getIp6Dns1()).thenReturn(ip6Dns[0]);
when(network.getIp6Dns2()).thenReturn(ip6Dns[1]);
when(networkModel.areServicesSupportedByNetworkOffering(offering.getId(), Network.Service.SecurityGroup)).thenReturn(false);
Network config = guru.design(offering, plan, network, owner);
assertNotNull(config);
assertEquals(ip4Dns[0], config.getDns1());
assertEquals(ip4Dns[1], config.getDns2());
assertEquals(ip6Dns[0], config.getIp6Dns1());
assertEquals(ip6Dns[1], config.getIp6Dns2());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(String dns1, String dns2, String ip6Dns1, String ip6Dns2) {
Network network = Mockito.mock(Network.class);
Mockito.when(network.getDns1()).thenReturn(dns1);
Mockito.when(network.getDns2()).thenReturn(dns2);
Mockito.when(network.getIp6Dns1()).thenReturn(ip6Dns1);
Mockito.when(network.getIp6Dns2()).thenReturn(ip6Dns2);
return network;
}
}
Test Case ID #cloudstack_Test_54_2
Test Case Name: testDesignDns(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\guru\ExternalGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
DeploymentPlan plan = Mockito.mock(DeploymentPlan.class);
- Network network = Mockito.mock(Network.class);
- Mockito.when(network.getDns1()).thenReturn(ip4Dns[0]);
- Mockito.when(network.getDns2()).thenReturn(ip4Dns[1]);
- Mockito.when(network.getIp6Dns1()).thenReturn(ip6Dns[0]);
- Mockito.when(network.getIp6Dns2()).thenReturn(ip6Dns[1]);
+ Network network = MockNetwork.createMockNetwork(ip4Dns[0], ip4Dns[1], ip6Dns[0], ip6Dns[1]);
Account owner = Mockito.mock(Account.class);
Network config = guru.design(networkOffering, plan, network, owner);
assertNotNull(config);
Original Test Code (click to expand)
@Test
public void testDesignDns() {
Mockito.when(networkModel.areServicesSupportedByNetworkOffering(Mockito.anyLong(), Mockito.any())).thenReturn(false);
Mockito.when(networkModel.networkIsConfiguredForExternalNetworking(Mockito.anyLong(), Mockito.anyLong())).thenReturn(true);
NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
Mockito.when(networkOffering.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
Mockito.when(networkOffering.getGuestType()).thenReturn(Network.GuestType.Isolated);
DataCenterVO zone = Mockito.mock(DataCenterVO.class);
Mockito.when(zone.getNetworkType()).thenReturn(DataCenter.NetworkType.Advanced);
Mockito.when(dataCenterDao.findById(Mockito.anyLong())).thenReturn(zone);
PhysicalNetworkVO physicalNetwork = Mockito.mock(PhysicalNetworkVO.class);
Mockito.when(physicalNetwork.getId()).thenReturn(1L);
Mockito.when(physicalNetworkDao.findById(Mockito.anyLong())).thenReturn(physicalNetwork);
DeploymentPlan plan = Mockito.mock(DeploymentPlan.class);
Network network = Mockito.mock(Network.class);
Mockito.when(network.getDns1()).thenReturn(ip4Dns[0]);
Mockito.when(network.getDns2()).thenReturn(ip4Dns[1]);
Mockito.when(network.getIp6Dns1()).thenReturn(ip6Dns[0]);
Mockito.when(network.getIp6Dns2()).thenReturn(ip6Dns[1]);
Account owner = Mockito.mock(Account.class);
Network config = guru.design(networkOffering, plan, network, owner);
assertNotNull(config);
assertEquals(ip4Dns[0], config.getDns1());
assertEquals(ip4Dns[1], config.getDns2());
assertEquals(ip6Dns[0], config.getIp6Dns1());
assertEquals(ip6Dns[1], config.getIp6Dns2());
}
Reusable Method for MCI (click to expand)
public class MockNetwork {
public static Network createMockNetwork(String dns1, String dns2, String ip6Dns1, String ip6Dns2) {
Network network = Mockito.mock(Network.class);
Mockito.when(network.getDns1()).thenReturn(dns1);
Mockito.when(network.getDns2()).thenReturn(dns2);
Mockito.when(network.getIp6Dns1()).thenReturn(ip6Dns1);
Mockito.when(network.getIp6Dns2()).thenReturn(ip6Dns2);
return network;
}
}
Mock Clone Instance #cloudstack_MCI_55
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 4
- MO Count: 4
Reusable Method
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_55_1
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
final DeploymentPlan plan = mock(DeploymentPlan.class);
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
Original Test Code (click to expand)
@Test
public void testDesign() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Lswitch);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_55_2
Test Case Name: testDesignNoElementOnPhysicalNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
final DeploymentPlan plan = mock(DeploymentPlan.class);
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoElementOnPhysicalNetwork() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections.<NiciraNvpDeviceVO>emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_55_3
Test Case Name: testDesignNoIsolationMethodSTT(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
final DeploymentPlan plan = mock(DeploymentPlan.class);
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoIsolationMethodSTT() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections.<NiciraNvpDeviceVO>emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_55_4
Test Case Name: testDesignNoConnectivityInOffering(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
final DeploymentPlan plan = mock(DeploymentPlan.class);
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoConnectivityInOffering() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Mock Clone Instance #cloudstack_MCI_56
- Scope: method level
- Mocked Class:
com.cloud.network.Network
- Test Case Count: 3
- MO Count: 3
Reusable Method
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_56_1
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
final DeploymentPlan plan = mock(DeploymentPlan.class);
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
Original Test Code (click to expand)
@Test
public void testDesign() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Vcs);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_56_2
Test Case Name: testDesignNoIsolationMethodVCS(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
final DeploymentPlan plan = mock(DeploymentPlan.class);
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoIsolationMethodVCS() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Test Case ID #cloudstack_Test_56_3
Test Case Name: testDesignNoConnectivityInOffering(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: network
Suggested Diff
@@
final DeploymentPlan plan = mock(DeploymentPlan.class);
- final Network network = mock(Network.class);
+ // removed local mock; replaced with global field `network`
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoConnectivityInOffering() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private Network network;
@BeforeEach
public void setUp() {
network = mock(Network.class);
}
network;
Mock Clone Instance #cloudstack_MCI_57
- Scope: method level
- Mocked Class:
com.cloud.vm.DiskProfile
- Test Case Count: 3
- MO Count: 3
Reusable Method
private DiskProfile diskCharacteristics;
@BeforeEach
public void setUp() {
diskCharacteristics = Mockito.mock(DiskProfile.class);
}
diskCharacteristics;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_57_1
Test Case Name: testCreateCommandNoTemplate(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: diskCharacteristics
Suggested Diff
@@
@Test
public void testCreateCommandNoTemplate() {
- final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
+ // removed local mock; replaced with global field `diskCharacteristics`
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.createPhysicalDisk(diskCharacteristics.getPath(), diskCharacteristics.getProvisioningType(), diskCharacteristics.getSize(), null)).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Original Test Code (click to expand)
@Test
public void testCreateCommandNoTemplate() {
final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.createPhysicalDisk(diskCharacteristics.getPath(), diskCharacteristics.getProvisioningType(), diskCharacteristics.getSize(), null)).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Reusable Method for MCI (click to expand)
private DiskProfile diskCharacteristics;
@BeforeEach
public void setUp() {
diskCharacteristics = Mockito.mock(DiskProfile.class);
}
diskCharacteristics;
Test Case ID #cloudstack_Test_57_2
Test Case Name: testCreateCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: diskCharacteristics
Suggested Diff
@@
@Test
public void testCreateCommand() {
- final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
+ // removed local mock; replaced with global field `diskCharacteristics`
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final String templateUrl = "http://template";
final boolean executeInSequence = false;
- final CreateCommand command = new CreateCommand(diskCharacteristics, templateUrl, pool, executeInSequence);
+ final CreateCommand command = new CreateCommand(diskCharacteristics, templateUrl, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.getType()).thenReturn(StoragePoolType.CLVM);
- when(libvirtComputingResourceMock.templateToPrimaryDownload(command.getTemplateUrl(), primary, diskCharacteristics.getPath())).thenReturn(vol);
+ when(libvirtComputingResourceMock.templateToPrimaryDownload(command.getTemplateUrl(), primary, diskCharacteristics.getPath())).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Original Test Code (click to expand)
@Test
public void testCreateCommand() {
final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final String templateUrl = "http://template";
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, templateUrl, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.getType()).thenReturn(StoragePoolType.CLVM);
when(libvirtComputingResourceMock.templateToPrimaryDownload(command.getTemplateUrl(), primary, diskCharacteristics.getPath())).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Reusable Method for MCI (click to expand)
private DiskProfile diskCharacteristics;
@BeforeEach
public void setUp() {
diskCharacteristics = Mockito.mock(DiskProfile.class);
}
diskCharacteristics;
Test Case ID #cloudstack_Test_57_3
Test Case Name: testCreateCommandCLVM(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: diskCharacteristics
Suggested Diff
@@
@Test
public void testCreateCommandCLVM() {
- final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
+ // removed local mock; replaced with global field `diskCharacteristics`
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final String templateUrl = "http://template";
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, templateUrl, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk baseVol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.getPhysicalDisk(command.getTemplateUrl())).thenReturn(baseVol);
when(poolManager.createDiskFromTemplate(baseVol, diskCharacteristics.getPath(), diskCharacteristics.getProvisioningType(), primary, baseVol.getSize(), 0, null)).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Original Test Code (click to expand)
@Test
public void testCreateCommandCLVM() {
final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final String templateUrl = "http://template";
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, templateUrl, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk baseVol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.getPhysicalDisk(command.getTemplateUrl())).thenReturn(baseVol);
when(poolManager.createDiskFromTemplate(baseVol, diskCharacteristics.getPath(), diskCharacteristics.getProvisioningType(), primary, baseVol.getSize(), 0, null)).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Reusable Method for MCI (click to expand)
private DiskProfile diskCharacteristics;
@BeforeEach
public void setUp() {
diskCharacteristics = Mockito.mock(DiskProfile.class);
}
diskCharacteristics;
Mock Clone Instance #cloudstack_MCI_58
- Scope: class level
- Mocked Class:
TungstenGuestNetworkIpAddressDao
- Test Case Count: 4
- MO Count: 4
Reusable Method
public class MockTungstenGuestNetworkIpAddressDao {
public static TungstenGuestNetworkIpAddressDao createMockTungstenGuestNetworkIpAddressDao(TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO) {
TungstenGuestNetworkIpAddressDao tungstenGuestNetworkIpAddressDao = mock(TungstenGuestNetworkIpAddressDao.class);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
return tungstenGuestNetworkIpAddressDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_58_1
Test Case Name: applyLBRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: tungstenGuestNetworkIpAddressDao
Suggested Diff
@@
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
- when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
+ tungstenGuestNetworkIpAddressDao = MockTungstenGuestNetworkIpAddressDao.createMockTungstenGuestNetworkIpAddressDao(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleSuccessTest() {
User caller = mock(User.class);
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
public class MockTungstenGuestNetworkIpAddressDao {
public static TungstenGuestNetworkIpAddressDao createMockTungstenGuestNetworkIpAddressDao(TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO) {
TungstenGuestNetworkIpAddressDao tungstenGuestNetworkIpAddressDao = mock(TungstenGuestNetworkIpAddressDao.class);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
return tungstenGuestNetworkIpAddressDao;
}
}
Test Case ID #cloudstack_Test_58_2
Test Case Name: applyLBRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: tungstenGuestNetworkIpAddressDao
Suggested Diff
@@
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
- when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
- when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
+ tungstenGuestNetworkIpAddressDao = MockTungstenGuestNetworkIpAddressDao.createMockTungstenGuestNetworkIpAddressDao(tungstenGuestNetworkIpAddressVO);
+ when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip1 = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip1);
when(ip1.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
public class MockTungstenGuestNetworkIpAddressDao {
public static TungstenGuestNetworkIpAddressDao createMockTungstenGuestNetworkIpAddressDao(TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO) {
TungstenGuestNetworkIpAddressDao tungstenGuestNetworkIpAddressDao = mock(TungstenGuestNetworkIpAddressDao.class);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
return tungstenGuestNetworkIpAddressDao;
}
}
Test Case ID #cloudstack_Test_58_3
Test Case Name: applyLBRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: tungstenGuestNetworkIpAddressDao
Suggested Diff
@@
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
- when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
+ tungstenGuestNetworkIpAddressDao = MockTungstenGuestNetworkIpAddressDao.createMockTungstenGuestNetworkIpAddressDao(tungstenGuestNetworkIpAddressVO);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
List<LoadBalancingRule> loadBalancingRuleList = List.of(loadBalancingRule);
List<LoadBalancerVO> loadBalancerVOList = Arrays.asList(loadBalancerVO1, loadBalancerVO2);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
}
Reusable Method for MCI (click to expand)
public class MockTungstenGuestNetworkIpAddressDao {
public static TungstenGuestNetworkIpAddressDao createMockTungstenGuestNetworkIpAddressDao(TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO) {
TungstenGuestNetworkIpAddressDao tungstenGuestNetworkIpAddressDao = mock(TungstenGuestNetworkIpAddressDao.class);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
return tungstenGuestNetworkIpAddressDao;
}
}
Test Case ID #cloudstack_Test_58_4
Test Case Name: updateLoadBalancerTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: tungstenGuestNetworkIpAddressDao
Suggested Diff
@@
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
- when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
+ tungstenGuestNetworkIpAddressDao = MockTungstenGuestNetworkIpAddressDao.createMockTungstenGuestNetworkIpAddressDao(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
@@
Original Test Code (click to expand)
@Test
public void updateLoadBalancerTest() {
Network network = mock(Network.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
Network publicNetwork = mock(Network.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
}
Reusable Method for MCI (click to expand)
public class MockTungstenGuestNetworkIpAddressDao {
public static TungstenGuestNetworkIpAddressDao createMockTungstenGuestNetworkIpAddressDao(TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO) {
TungstenGuestNetworkIpAddressDao tungstenGuestNetworkIpAddressDao = mock(TungstenGuestNetworkIpAddressDao.class);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
return tungstenGuestNetworkIpAddressDao;
}
}
Mock Clone Instance #cloudstack_MCI_59
- Scope: method level
- Mocked Class:
org.apache.cloudstack.framework.config.ConfigKey<java.lang.Integer>
- Test Case Count: 2
- MO Count: 4
Reusable Method
private static ConfigKey<Integer> createMockConfigKeyWithValueIn(Long zoneId, Integer valueInReturn) {
ConfigKey<Integer> configKey = Mockito.mock(ConfigKey.class);
when(configKey.valueIn(zoneId)).thenReturn(valueInReturn);
return configKey;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_59_1
Test Case Name: testValidateMtuConfigWhenMtusExceedThreshold(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: publicMtuKey
Suggested Diff
@@
Integer publicMtu = 2450;
Integer privateMtu = 1500;
Long zoneId = 1L;
- when(publicMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
+ publicMtuKey = createMockConfigKeyWithValueIn(zoneId, NetworkService.DEFAULT_MTU);
when(privateMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
Pair<Integer, Integer> interfaceMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId);
Assert.assertNotNull(interfaceMtus);
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.first());
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.second());
Mockito.verify(alertManager, Mockito.times(1)).sendAlert(Mockito.any(AlertService.AlertType.class), Mockito.anyLong(), nullable(Long.class), Mockito.anyString(), Mockito.anyString());
}
@@
Original Test Code (click to expand)
@Test
public void testValidateMtuConfigWhenMtusExceedThreshold() {
Integer publicMtu = 2450;
Integer privateMtu = 1500;
Long zoneId = 1L;
when(publicMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
when(privateMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
Pair<Integer, Integer> interfaceMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId);
Assert.assertNotNull(interfaceMtus);
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.first());
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.second());
Mockito.verify(alertManager, Mockito.times(1)).sendAlert(Mockito.any(AlertService.AlertType.class), Mockito.anyLong(), nullable(Long.class), Mockito.anyString(), Mockito.anyString());
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Integer> createMockConfigKeyWithValueIn(Long zoneId, Integer valueInReturn) {
ConfigKey<Integer> configKey = Mockito.mock(ConfigKey.class);
when(configKey.valueIn(zoneId)).thenReturn(valueInReturn);
return configKey;
}
Test Case ID #cloudstack_Test_59_2
Test Case Name: testValidatePrivateMtuExceedingThreshold(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: publicMtuKey
Suggested Diff
@@
Integer publicMtu = 1500;
Integer privateMtu = 2500;
Long zoneId = 1L;
- when(publicMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
+ publicMtuKey = createMockConfigKeyWithValueIn(zoneId, NetworkService.DEFAULT_MTU);
when(privateMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
Pair<Integer, Integer> interfaceMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId);
Assert.assertNotNull(interfaceMtus);
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.first());
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.second());
Mockito.verify(alertManager, Mockito.times(1)).sendAlert(Mockito.any(AlertService.AlertType.class), Mockito.anyLong(), nullable(Long.class), Mockito.anyString(), Mockito.anyString());
}
@@
Original Test Code (click to expand)
@Test
public void testValidatePrivateMtuExceedingThreshold() {
Integer publicMtu = 1500;
Integer privateMtu = 2500;
Long zoneId = 1L;
when(publicMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
when(privateMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
Pair<Integer, Integer> interfaceMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId);
Assert.assertNotNull(interfaceMtus);
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.first());
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.second());
Mockito.verify(alertManager, Mockito.times(1)).sendAlert(Mockito.any(AlertService.AlertType.class), Mockito.anyLong(), nullable(Long.class), Mockito.anyString(), Mockito.anyString());
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Integer> createMockConfigKeyWithValueIn(Long zoneId, Integer valueInReturn) {
ConfigKey<Integer> configKey = Mockito.mock(ConfigKey.class);
when(configKey.valueIn(zoneId)).thenReturn(valueInReturn);
return configKey;
}
Test Case ID #cloudstack_Test_59_3
Test Case Name: testValidateMtuConfigWhenMtusExceedThreshold(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: privateMtuKey
Suggested Diff
@@
Integer publicMtu = 2450;
Integer privateMtu = 1500;
Long zoneId = 1L;
- when(publicMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
- when(privateMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
+ when(publicMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
+ privateMtuKey = createMockConfigKeyWithValueIn(zoneId, NetworkService.DEFAULT_MTU);
Pair<Integer, Integer> interfaceMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId);
Assert.assertNotNull(interfaceMtus);
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.first());
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.second());
Mockito.verify(alertManager, Mockito.times(1)).sendAlert(Mockito.any(AlertService.AlertType.class), Mockito.anyLong(), nullable(Long.class), Mockito.anyString(), Mockito.anyString());
}
Original Test Code (click to expand)
@Test
public void testValidateMtuConfigWhenMtusExceedThreshold() {
Integer publicMtu = 2450;
Integer privateMtu = 1500;
Long zoneId = 1L;
when(publicMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
when(privateMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
Pair<Integer, Integer> interfaceMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId);
Assert.assertNotNull(interfaceMtus);
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.first());
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.second());
Mockito.verify(alertManager, Mockito.times(1)).sendAlert(Mockito.any(AlertService.AlertType.class), Mockito.anyLong(), nullable(Long.class), Mockito.anyString(), Mockito.anyString());
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Integer> createMockConfigKeyWithValueIn(Long zoneId, Integer valueInReturn) {
ConfigKey<Integer> configKey = Mockito.mock(ConfigKey.class);
when(configKey.valueIn(zoneId)).thenReturn(valueInReturn);
return configKey;
}
Test Case ID #cloudstack_Test_59_4
Test Case Name: testValidatePrivateMtuExceedingThreshold(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: privateMtuKey
Suggested Diff
@@
Integer publicMtu = 1500;
Integer privateMtu = 2500;
Long zoneId = 1L;
- when(publicMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
- when(privateMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
+ when(publicMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
+ privateMtuKey = createMockConfigKeyWithValueIn(zoneId, NetworkService.DEFAULT_MTU);
Pair<Integer, Integer> interfaceMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId);
Assert.assertNotNull(interfaceMtus);
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.first());
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.second());
Mockito.verify(alertManager, Mockito.times(1)).sendAlert(Mockito.any(AlertService.AlertType.class), Mockito.anyLong(), nullable(Long.class), Mockito.anyString(), Mockito.anyString());
}
Original Test Code (click to expand)
@Test
public void testValidatePrivateMtuExceedingThreshold() {
Integer publicMtu = 1500;
Integer privateMtu = 2500;
Long zoneId = 1L;
when(publicMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
when(privateMtuKey.valueIn(zoneId)).thenReturn(NetworkService.DEFAULT_MTU);
Pair<Integer, Integer> interfaceMtus = service.validateMtuConfig(publicMtu, privateMtu, zoneId);
Assert.assertNotNull(interfaceMtus);
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.first());
Assert.assertEquals(NetworkService.DEFAULT_MTU, interfaceMtus.second());
Mockito.verify(alertManager, Mockito.times(1)).sendAlert(Mockito.any(AlertService.AlertType.class), Mockito.anyLong(), nullable(Long.class), Mockito.anyString(), Mockito.anyString());
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Integer> createMockConfigKeyWithValueIn(Long zoneId, Integer valueInReturn) {
ConfigKey<Integer> configKey = Mockito.mock(ConfigKey.class);
when(configKey.valueIn(zoneId)).thenReturn(valueInReturn);
return configKey;
}
Mock Clone Instance #cloudstack_MCI_60
- Scope: method level
- Mocked Class:
org.apache.cloudstack.framework.config.ConfigKey<java.lang.Integer>
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static ConfigKey<Integer> createMockConfigKeyWithValue(int value) {
ConfigKey<Integer> configKeyMock = Mockito.mock(ConfigKey.class);
Mockito.when(configKeyMock.value()).thenReturn(value);
return configKeyMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_60_1
Test Case Name: validateGetVmMaxMemoryReturnVmServiceOfferingMaxRAMSize(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\hypervisor\KVMGuruTest.java)
Mock Object Variable Name: vmServiceOfferingMaxRAMSize
Suggested Diff
@@
Mockito.when(serviceOfferingVoMock.getDetail(ApiConstants.MAX_MEMORY)).thenReturn(null);
- ConfigKey<Integer> vmServiceOfferingMaxRAMSize = Mockito.mock(ConfigKey.class);
- ConfigurationManagerImpl.VM_SERVICE_OFFERING_MAX_RAM_SIZE = vmServiceOfferingMaxRAMSize;
- Mockito.when(vmServiceOfferingMaxRAMSize.value()).thenReturn(maxMemoryConfig);
+ ConfigKey<Integer> vmServiceOfferingMaxRAMSize = createMockConfigKeyWithValue(maxMemoryConfig);
+ ConfigurationManagerImpl.VM_SERVICE_OFFERING_MAX_RAM_SIZE = vmServiceOfferingMaxRAMSize;
long result = guru.getVmMaxMemory(serviceOfferingVoMock, "Vm description", 1l);
Assert.assertEquals(ByteScaleUtils.mebibytesToBytes(maxMemoryConfig), result);
}
Original Test Code (click to expand)
@Test
public void validateGetVmMaxMemoryReturnVmServiceOfferingMaxRAMSize() {
int maxMemoryConfig = 64;
Mockito.when(serviceOfferingVoMock.getDetail(ApiConstants.MAX_MEMORY)).thenReturn(null);
ConfigKey<Integer> vmServiceOfferingMaxRAMSize = Mockito.mock(ConfigKey.class);
ConfigurationManagerImpl.VM_SERVICE_OFFERING_MAX_RAM_SIZE = vmServiceOfferingMaxRAMSize;
Mockito.when(vmServiceOfferingMaxRAMSize.value()).thenReturn(maxMemoryConfig);
long result = guru.getVmMaxMemory(serviceOfferingVoMock, "Vm description", 1l);
Assert.assertEquals(ByteScaleUtils.mebibytesToBytes(maxMemoryConfig), result);
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Integer> createMockConfigKeyWithValue(int value) {
ConfigKey<Integer> configKeyMock = Mockito.mock(ConfigKey.class);
Mockito.when(configKeyMock.value()).thenReturn(value);
return configKeyMock;
}
Test Case ID #cloudstack_Test_60_2
Test Case Name: validateGetVmMaxMemoryReturnMaxHostMemory(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\hypervisor\KVMGuruTest.java)
Mock Object Variable Name: vmServiceOfferingMaxRAMSize
Suggested Diff
@@
Mockito.when(serviceOfferingVoMock.getDetail(ApiConstants.MAX_MEMORY)).thenReturn(null);
- ConfigKey<Integer> vmServiceOfferingMaxRAMSize = Mockito.mock(ConfigKey.class);
- ConfigurationManagerImpl.VM_SERVICE_OFFERING_MAX_RAM_SIZE = vmServiceOfferingMaxRAMSize;
- Mockito.when(vmServiceOfferingMaxRAMSize.value()).thenReturn(0);
+ ConfigKey<Integer> vmServiceOfferingMaxRAMSize = createMockConfigKeyWithValue(0);
+ ConfigurationManagerImpl.VM_SERVICE_OFFERING_MAX_RAM_SIZE = vmServiceOfferingMaxRAMSize;
long result = guru.getVmMaxMemory(serviceOfferingVoMock, "Vm description", maxHostMemory);
Assert.assertEquals(maxHostMemory, result);
@@
Original Test Code (click to expand)
@Test
public void validateGetVmMaxMemoryReturnMaxHostMemory() {
long maxHostMemory = ByteScaleUtils.mebibytesToBytes(2000);
Mockito.when(serviceOfferingVoMock.getDetail(ApiConstants.MAX_MEMORY)).thenReturn(null);
ConfigKey<Integer> vmServiceOfferingMaxRAMSize = Mockito.mock(ConfigKey.class);
ConfigurationManagerImpl.VM_SERVICE_OFFERING_MAX_RAM_SIZE = vmServiceOfferingMaxRAMSize;
Mockito.when(vmServiceOfferingMaxRAMSize.value()).thenReturn(0);
long result = guru.getVmMaxMemory(serviceOfferingVoMock, "Vm description", maxHostMemory);
Assert.assertEquals(maxHostMemory, result);
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Integer> createMockConfigKeyWithValue(int value) {
ConfigKey<Integer> configKeyMock = Mockito.mock(ConfigKey.class);
Mockito.when(configKeyMock.value()).thenReturn(value);
return configKeyMock;
}
Test Case ID #cloudstack_Test_60_3
Test Case Name: validateGetVmMaxCpuCoresVmServiceOfferingMaxCPUCores(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\hypervisor\KVMGuruTest.java)
Mock Object Variable Name: vmServiceOfferingMaxCPUCores
Suggested Diff
@@
Mockito.when(serviceOfferingVoMock.getDetail(ApiConstants.MAX_CPU_NUMBER)).thenReturn(null);
- ConfigKey<Integer> vmServiceOfferingMaxCPUCores = Mockito.mock(ConfigKey.class);
ConfigurationManagerImpl.VM_SERVICE_OFFERING_MAX_CPU_CORES = vmServiceOfferingMaxCPUCores;
- Mockito.when(vmServiceOfferingMaxCPUCores.value()).thenReturn(maxCpuCoresConfig);
+ ConfigKey<Integer> vmServiceOfferingMaxCPUCores = createMockConfigKeyWithValue(maxCpuCoresConfig);
long result = guru.getVmMaxCpuCores(serviceOfferingVoMock, "Vm description", 1);
Assert.assertEquals(maxCpuCoresConfig, result);
@@
Original Test Code (click to expand)
@Test
public void validateGetVmMaxCpuCoresVmServiceOfferingMaxCPUCores() {
int maxCpuCoresConfig = 16;
Mockito.when(serviceOfferingVoMock.getDetail(ApiConstants.MAX_CPU_NUMBER)).thenReturn(null);
ConfigKey<Integer> vmServiceOfferingMaxCPUCores = Mockito.mock(ConfigKey.class);
ConfigurationManagerImpl.VM_SERVICE_OFFERING_MAX_CPU_CORES = vmServiceOfferingMaxCPUCores;
Mockito.when(vmServiceOfferingMaxCPUCores.value()).thenReturn(maxCpuCoresConfig);
long result = guru.getVmMaxCpuCores(serviceOfferingVoMock, "Vm description", 1);
Assert.assertEquals(maxCpuCoresConfig, result);
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Integer> createMockConfigKeyWithValue(int value) {
ConfigKey<Integer> configKeyMock = Mockito.mock(ConfigKey.class);
Mockito.when(configKeyMock.value()).thenReturn(value);
return configKeyMock;
}
Test Case ID #cloudstack_Test_60_4
Test Case Name: validateGetVmMaxCpuCoresReturnMaxHostMemory(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\hypervisor\KVMGuruTest.java)
Mock Object Variable Name: vmServiceOfferingMaxCPUCores
Suggested Diff
@@
Mockito.when(serviceOfferingVoMock.getDetail(ApiConstants.MAX_CPU_NUMBER)).thenReturn(null);
- ConfigKey<Integer> vmServiceOfferingMaxCPUCores = Mockito.mock(ConfigKey.class);
+ ConfigKey<Integer> vmServiceOfferingMaxCPUCores = createMockConfigKeyWithValue(0);
ConfigurationManagerImpl.VM_SERVICE_OFFERING_MAX_CPU_CORES = vmServiceOfferingMaxCPUCores;
- Mockito.when(vmServiceOfferingMaxCPUCores.value()).thenReturn(0);
long result = guru.getVmMaxCpuCores(serviceOfferingVoMock, "Vm description", maxHostCpuCores);
Assert.assertEquals(maxHostCpuCores, result);
Original Test Code (click to expand)
@Test
public void validateGetVmMaxCpuCoresReturnMaxHostMemory() {
int maxHostCpuCores = 64;
Mockito.when(serviceOfferingVoMock.getDetail(ApiConstants.MAX_CPU_NUMBER)).thenReturn(null);
ConfigKey<Integer> vmServiceOfferingMaxCPUCores = Mockito.mock(ConfigKey.class);
ConfigurationManagerImpl.VM_SERVICE_OFFERING_MAX_CPU_CORES = vmServiceOfferingMaxCPUCores;
Mockito.when(vmServiceOfferingMaxCPUCores.value()).thenReturn(0);
long result = guru.getVmMaxCpuCores(serviceOfferingVoMock, "Vm description", maxHostCpuCores);
Assert.assertEquals(maxHostCpuCores, result);
}
Reusable Method for MCI (click to expand)
private static ConfigKey<Integer> createMockConfigKeyWithValue(int value) {
ConfigKey<Integer> configKeyMock = Mockito.mock(ConfigKey.class);
Mockito.when(configKeyMock.value()).thenReturn(value);
return configKeyMock;
}
Mock Clone Instance #cloudstack_MCI_61
- Scope: method level
- Mocked Class:
com.cloud.utils.script.Script
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static Script createMockScript() {
Script mockScript = Mockito.mock(Script.class);
PowerMockito.when(mockScript.execute()).thenReturn(null);
return mockScript;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_61_1
Test Case Name: testProcessWhenVirtualSizeThrowsException(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\OVAProcessorTest.java)
Mock Object Variable Name: mockScript
Suggested Diff
@@
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(1000l);
Mockito.doThrow(new InternalErrorException("virtual size calculation failed")).when(processor).getTemplateVirtualSize(Mockito.anyString(), Mockito.anyString());
- Script mockScript = Mockito.mock(Script.class);
- PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(mockScript);
- PowerMockito.when(mockScript.execute()).thenReturn(null);
+ Script mockScript = createMockScript();
+ PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(mockScript);
processor.process(templatePath, null, templateName);
@@
Original Test Code (click to expand)
@Test(expected = InternalErrorException.class)
public void testProcessWhenVirtualSizeThrowsException() throws Exception {
String templatePath = "/tmp";
String templateName = "template";
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(1000l);
Mockito.doThrow(new InternalErrorException("virtual size calculation failed")).when(processor).getTemplateVirtualSize(Mockito.anyString(), Mockito.anyString());
Script mockScript = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(mockScript);
PowerMockito.when(mockScript.execute()).thenReturn(null);
processor.process(templatePath, null, templateName);
}
Reusable Method for MCI (click to expand)
private static Script createMockScript() {
Script mockScript = Mockito.mock(Script.class);
PowerMockito.when(mockScript.execute()).thenReturn(null);
return mockScript;
}
Test Case ID #cloudstack_Test_61_2
Test Case Name: testProcess(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\OVAProcessorTest.java)
Mock Object Variable Name: mockScript
Suggested Diff
@@
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(actualSize);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize(Mockito.anyString(), Mockito.anyString());
- Script mockScript = Mockito.mock(Script.class);
+ Script mockScript = createMockScript();
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(mockScript);
- PowerMockito.when(mockScript.execute()).thenReturn(null);
Processor.FormatInfo info = processor.process(templatePath, null, templateName);
Assert.assertEquals(Storage.ImageFormat.OVA, info.format);
Assert.assertEquals("actual size:", actualSize, info.size);
Assert.assertEquals("virtual size:", virtualSize, info.virtualSize);
Assert.assertEquals("template name:", templateName + ".ova", info.filename);
@@
Original Test Code (click to expand)
@Test
public void testProcess() throws Exception {
String templatePath = "/tmp";
String templateName = "template";
long virtualSize = 2000;
long actualSize = 1000;
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(actualSize);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize(Mockito.anyString(), Mockito.anyString());
Script mockScript = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(mockScript);
PowerMockito.when(mockScript.execute()).thenReturn(null);
Processor.FormatInfo info = processor.process(templatePath, null, templateName);
Assert.assertEquals(Storage.ImageFormat.OVA, info.format);
Assert.assertEquals("actual size:", actualSize, info.size);
Assert.assertEquals("virtual size:", virtualSize, info.virtualSize);
Assert.assertEquals("template name:", templateName + ".ova", info.filename);
}
Reusable Method for MCI (click to expand)
private static Script createMockScript() {
Script mockScript = Mockito.mock(Script.class);
PowerMockito.when(mockScript.execute()).thenReturn(null);
return mockScript;
}
Mock Clone Instance #cloudstack_MCI_62
- Scope: method level
- Mocked Class:
com.cloud.utils.script.Script
- Test Case Count: 5
- MO Count: 5
Reusable Method
private static Script createMockScript(String executeReturn) {
Script scriptMock = Mockito.mock(Script.class);
Mockito.doReturn(executeReturn).when(scriptMock).execute();
return scriptMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_62_1
Test Case Name: linkUserDataTestUserDataFilePathExistAndExecutionPresentedSomeError(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: scriptMock
Suggested Diff
@@
PowerMockito.mockStatic(File.class, Script.class);
PowerMockito.whenNew(File.class).withArguments(Mockito.anyString()).thenReturn(fileMock);
- Script scriptMock = Mockito.mock(Script.class);
- PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
- Mockito.doReturn("message").when(scriptMock).execute();
+ Script scriptMock = createMockScript("message");
+ PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
ConfigDriveBuilder.linkUserData("test");
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
@PrepareForTest({ File.class, Script.class, ConfigDriveBuilder.class })
public void linkUserDataTestUserDataFilePathExistAndExecutionPresentedSomeError() throws Exception {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(fileMock).exists();
PowerMockito.mockStatic(File.class, Script.class);
PowerMockito.whenNew(File.class).withArguments(Mockito.anyString()).thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn("message").when(scriptMock).execute();
ConfigDriveBuilder.linkUserData("test");
}
Reusable Method for MCI (click to expand)
private static Script createMockScript(String executeReturn) {
Script scriptMock = Mockito.mock(Script.class);
Mockito.doReturn(executeReturn).when(scriptMock).execute();
return scriptMock;
}
Test Case ID #cloudstack_Test_62_2
Test Case Name: linkUserDataTest(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: scriptMock
Suggested Diff
@@
PowerMockito.mockStatic(File.class, Script.class);
PowerMockito.whenNew(File.class).withArguments(Mockito.anyString()).thenReturn(fileMock);
- Script scriptMock = Mockito.mock(Script.class);
- PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
- Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
+ Script scriptMock = createMockScript(StringUtils.EMPTY);
+ PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
String tempDirName = "test";
ConfigDriveBuilder.linkUserData(tempDirName);
Mockito.verify(scriptMock).add(tempDirName + ConfigDrive.cloudStackConfigDriveName + "userdata/user_data.txt");
Mockito.verify(scriptMock).add(tempDirName + ConfigDrive.openStackConfigDriveName + "user_data");
Mockito.verify(scriptMock).execute();
@@
Original Test Code (click to expand)
@Test
@PrepareForTest({ File.class, Script.class, ConfigDriveBuilder.class })
public void linkUserDataTest() throws Exception {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(fileMock).exists();
PowerMockito.mockStatic(File.class, Script.class);
PowerMockito.whenNew(File.class).withArguments(Mockito.anyString()).thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
String tempDirName = "test";
ConfigDriveBuilder.linkUserData(tempDirName);
Mockito.verify(scriptMock).add(tempDirName + ConfigDrive.cloudStackConfigDriveName + "userdata/user_data.txt");
Mockito.verify(scriptMock).add(tempDirName + ConfigDrive.openStackConfigDriveName + "user_data");
Mockito.verify(scriptMock).execute();
}
Reusable Method for MCI (click to expand)
private static Script createMockScript(String executeReturn) {
Script scriptMock = Mockito.mock(Script.class);
Mockito.doReturn(executeReturn).when(scriptMock).execute();
return scriptMock;
}
Test Case ID #cloudstack_Test_62_3
Test Case Name: generateAndRetrieveIsoAsBase64IsoTestGenIsoFailure(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: scriptMock
Suggested Diff
@@
PowerMockito.mockStatic(Script.class, ConfigDriveBuilder.class);
- Script scriptMock = Mockito.mock(Script.class);
- PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
- Mockito.doReturn("scriptMessage").when(scriptMock).execute();
+ Script scriptMock = createMockScript("scriptMessage");
+ PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Method method = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("generateAndRetrieveIsoAsBase64Iso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, method).withArguments(nullable(String.class), nullable(String.class), nullable(String.class)).thenCallRealMethod();
Method getProgramToGenerateIsoMethod = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("getProgramToGenerateIso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, getProgramToGenerateIsoMethod).withNoArguments().thenReturn("/usr/bin/genisoimage");
ConfigDriveBuilder.generateAndRetrieveIsoAsBase64Iso("isoFileName", "driveLabel", "tempDirName");
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test(expected = CloudRuntimeException.class)
@PrepareForTest({ Script.class, ConfigDriveBuilder.class })
public void generateAndRetrieveIsoAsBase64IsoTestGenIsoFailure() throws Exception {
PowerMockito.mockStatic(Script.class, ConfigDriveBuilder.class);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn("scriptMessage").when(scriptMock).execute();
Method method = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("generateAndRetrieveIsoAsBase64Iso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, method).withArguments(nullable(String.class), nullable(String.class), nullable(String.class)).thenCallRealMethod();
Method getProgramToGenerateIsoMethod = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("getProgramToGenerateIso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, getProgramToGenerateIsoMethod).withNoArguments().thenReturn("/usr/bin/genisoimage");
ConfigDriveBuilder.generateAndRetrieveIsoAsBase64Iso("isoFileName", "driveLabel", "tempDirName");
}
Reusable Method for MCI (click to expand)
private static Script createMockScript(String executeReturn) {
Script scriptMock = Mockito.mock(Script.class);
Mockito.doReturn(executeReturn).when(scriptMock).execute();
return scriptMock;
}
Test Case ID #cloudstack_Test_62_4
Test Case Name: generateAndRetrieveIsoAsBase64IsoTestIsoTooBig(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: scriptMock
Suggested Diff
@@
File fileMock = Mockito.mock(File.class);
PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(fileMock);
- Script scriptMock = Mockito.mock(Script.class);
- PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
- Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
+ Script scriptMock = createMockScript(StringUtils.EMPTY);
+ PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn(64L * 1024L * 1024L + 1l).when(fileMock).length();
Method method = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("generateAndRetrieveIsoAsBase64Iso")).iterator().next();
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test(expected = CloudRuntimeException.class)
@PrepareForTest({ File.class, Script.class, ConfigDriveBuilder.class })
public void generateAndRetrieveIsoAsBase64IsoTestIsoTooBig() throws Exception {
PowerMockito.mockStatic(File.class, Script.class, ConfigDriveBuilder.class);
File fileMock = Mockito.mock(File.class);
PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
Mockito.doReturn(64L * 1024L * 1024L + 1l).when(fileMock).length();
Method method = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("generateAndRetrieveIsoAsBase64Iso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, method).withArguments(nullable(String.class), nullable(String.class), nullable(String.class)).thenCallRealMethod();
Method getProgramToGenerateIsoMethod = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("getProgramToGenerateIso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, getProgramToGenerateIsoMethod).withNoArguments().thenReturn("/usr/bin/genisoimage");
ConfigDriveBuilder.generateAndRetrieveIsoAsBase64Iso("isoFileName", "driveLabel", "tempDirName");
}
Reusable Method for MCI (click to expand)
private static Script createMockScript(String executeReturn) {
Script scriptMock = Mockito.mock(Script.class);
Mockito.doReturn(executeReturn).when(scriptMock).execute();
return scriptMock;
}
Test Case ID #cloudstack_Test_62_5
Test Case Name: generateAndRetrieveIsoAsBase64IsoTest(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: scriptMock
Suggested Diff
@@
File fileMock = Mockito.mock(File.class);
PowerMockito.whenNew(File.class).withArguments("tempDirName", "isoFileName").thenReturn(fileMock);
- Script scriptMock = Mockito.mock(Script.class);
- PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
- Mockito.when(fileMock.getAbsolutePath()).thenReturn("absolutePath");
- Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
+ Script scriptMock = createMockScript(StringUtils.EMPTY);
+ PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
+ Mockito.when(fileMock.getAbsolutePath()).thenReturn("absolutePath");
Mockito.doReturn(64L * 1024L * 1024L).when(fileMock).length();
Method method = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("generateAndRetrieveIsoAsBase64Iso")).iterator().next();
@@
Original Test Code (click to expand)
@Test
@SuppressWarnings("unchecked")
@PrepareForTest({ File.class, Script.class, ConfigDriveBuilder.class })
public void generateAndRetrieveIsoAsBase64IsoTest() throws Exception {
PowerMockito.mockStatic(File.class, Script.class, ConfigDriveBuilder.class);
File fileMock = Mockito.mock(File.class);
PowerMockito.whenNew(File.class).withArguments("tempDirName", "isoFileName").thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.when(fileMock.getAbsolutePath()).thenReturn("absolutePath");
Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
Mockito.doReturn(64L * 1024L * 1024L).when(fileMock).length();
Method method = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("generateAndRetrieveIsoAsBase64Iso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, method).withArguments(nullable(String.class), nullable(String.class), nullable(String.class)).thenCallRealMethod();
Method getProgramToGenerateIsoMethod = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("getProgramToGenerateIso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, getProgramToGenerateIsoMethod).withNoArguments().thenReturn("/usr/bin/genisoimage");
ConfigDriveBuilder.generateAndRetrieveIsoAsBase64Iso("isoFileName", "driveLabel", "tempDirName");
InOrder inOrder = Mockito.inOrder(scriptMock);
inOrder.verify(scriptMock).add("-o", "absolutePath");
inOrder.verify(scriptMock).add("-ldots");
inOrder.verify(scriptMock).add("-allow-lowercase");
inOrder.verify(scriptMock).add("-allow-multidot");
inOrder.verify(scriptMock).add("-cache-inodes");
inOrder.verify(scriptMock).add("-l");
inOrder.verify(scriptMock).add("-quiet");
inOrder.verify(scriptMock).add("-J");
inOrder.verify(scriptMock).add("-r");
inOrder.verify(scriptMock).add("-V", "driveLabel");
inOrder.verify(scriptMock).add("tempDirName");
inOrder.verify(scriptMock).execute();
PowerMockito.verifyStatic(ConfigDriveBuilder.class);
ConfigDriveBuilder.fileToBase64String(nullable(File.class));
}
Reusable Method for MCI (click to expand)
private static Script createMockScript(String executeReturn) {
Script scriptMock = Mockito.mock(Script.class);
Mockito.doReturn(executeReturn).when(scriptMock).execute();
return scriptMock;
}
Mock Clone Instance #cloudstack_MCI_63
- Scope: method level
- Mocked Class:
SearchBuilder<UserDataVO>
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static SearchBuilder<UserDataVO> createMockSearchBuilder(UserDataVO userData, SearchCriteria<UserDataVO> sc) {
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(sb.entity()).thenReturn(userData);
when(sb.create()).thenReturn(sc);
return sb;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_63_1
Test Case Name: testListUserDataById(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: sb
Suggested Diff
@@
UserDataVO userData = Mockito.mock(UserDataVO.class);
- SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
- when(_userDataDao.createSearchBuilder()).thenReturn(sb);
- when(sb.entity()).thenReturn(userData);
+ SearchBuilder<UserDataVO> sb = createMockSearchBuilder(userData, sc);
+ when(_userDataDao.createSearchBuilder()).thenReturn(sb);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
- when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
@@
Original Test Code (click to expand)
@Test
public void testListUserDataById() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getId()).thenReturn(1L);
when(cmd.isRecursive()).thenReturn(false);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(_userDataDao.createSearchBuilder()).thenReturn(sb);
when(sb.entity()).thenReturn(userData);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
userDataList.add(userData);
Pair<List<UserDataVO>, Integer> result = new Pair(userDataList, 1);
when(_userDataDao.searchAndCount(nullable(SearchCriteria.class), nullable(Filter.class))).thenReturn(result);
Pair<List<? extends UserData>, Integer> userdataResultList = spy.listUserDatas(cmd);
Assert.assertEquals(userdataResultList.first().get(0), userDataList.get(0));
}
Reusable Method for MCI (click to expand)
private static SearchBuilder<UserDataVO> createMockSearchBuilder(UserDataVO userData, SearchCriteria<UserDataVO> sc) {
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(sb.entity()).thenReturn(userData);
when(sb.create()).thenReturn(sc);
return sb;
}
Test Case ID #cloudstack_Test_63_2
Test Case Name: testListUserDataByName(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: sb
Suggested Diff
@@
UserDataVO userData = Mockito.mock(UserDataVO.class);
- SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
- when(_userDataDao.createSearchBuilder()).thenReturn(sb);
- when(sb.entity()).thenReturn(userData);
+ SearchBuilder<UserDataVO> sb = createMockSearchBuilder(userData, sc);
+ when(_userDataDao.createSearchBuilder()).thenReturn(sb);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
- when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
userDataList.add(userData);
Pair<List<UserDataVO>, Integer> result = new Pair(userDataList, 1);
@@
Original Test Code (click to expand)
@Test
public void testListUserDataByName() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getName()).thenReturn("testSearchUserdataName");
when(cmd.isRecursive()).thenReturn(false);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(_userDataDao.createSearchBuilder()).thenReturn(sb);
when(sb.entity()).thenReturn(userData);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
userDataList.add(userData);
Pair<List<UserDataVO>, Integer> result = new Pair(userDataList, 1);
when(_userDataDao.searchAndCount(nullable(SearchCriteria.class), nullable(Filter.class))).thenReturn(result);
Pair<List<? extends UserData>, Integer> userdataResultList = spy.listUserDatas(cmd);
Assert.assertEquals(userdataResultList.first().get(0), userDataList.get(0));
}
Reusable Method for MCI (click to expand)
private static SearchBuilder<UserDataVO> createMockSearchBuilder(UserDataVO userData, SearchCriteria<UserDataVO> sc) {
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(sb.entity()).thenReturn(userData);
when(sb.create()).thenReturn(sc);
return sb;
}
Test Case ID #cloudstack_Test_63_3
Test Case Name: testListUserDataByKeyword(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: sb
Suggested Diff
@@
UserDataVO userData = Mockito.mock(UserDataVO.class);
- SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
- when(_userDataDao.createSearchBuilder()).thenReturn(sb);
- when(sb.entity()).thenReturn(userData);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
- when(sb.create()).thenReturn(sc);
+ SearchBuilder<UserDataVO> sb = createMockSearchBuilder(userData, sc);
+ when(_userDataDao.createSearchBuilder()).thenReturn(sb);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
@@
Original Test Code (click to expand)
@Test
public void testListUserDataByKeyword() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getKeyword()).thenReturn("testSearchUserdataKeyword");
when(cmd.isRecursive()).thenReturn(false);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(_userDataDao.createSearchBuilder()).thenReturn(sb);
when(sb.entity()).thenReturn(userData);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
userDataList.add(userData);
Pair<List<UserDataVO>, Integer> result = new Pair(userDataList, 1);
when(_userDataDao.searchAndCount(nullable(SearchCriteria.class), nullable(Filter.class))).thenReturn(result);
Pair<List<? extends UserData>, Integer> userdataResultList = spy.listUserDatas(cmd);
Assert.assertEquals(userdataResultList.first().get(0), userDataList.get(0));
}
Reusable Method for MCI (click to expand)
private static SearchBuilder<UserDataVO> createMockSearchBuilder(UserDataVO userData, SearchCriteria<UserDataVO> sc) {
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(sb.entity()).thenReturn(userData);
when(sb.create()).thenReturn(sc);
return sb;
}
Mock Clone Instance #cloudstack_MCI_64
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.StorageFilerTO
- Test Case Count: 2
- MO Count: 4
Reusable Method
private static StorageFilerTO createMockStorageFilerTO(String uuid) {
StorageFilerTO storageFilerTO = Mockito.mock(StorageFilerTO.class);
when(storageFilerTO.getUuid()).thenReturn(uuid);
return storageFilerTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_64_1
Test Case Name: testMigrateWithStorageCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: storage1
Suggested Diff
@@
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
- final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
+ final StorageFilerTO storage1 = createMockStorageFilerTO(uuid);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
@@
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
- when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
when(vol2.getPath()).thenReturn(path);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network networkForSm = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final MigrateWithStorageCommand migrateStorageCommand = new MigrateWithStorageCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
when(vol2.getPath()).thenReturn(path);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
when(xenServer610Resource.getVDIbyUuid(conn, storage1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, storage2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(networkForSm);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).prepareISO(conn, vmName, null, null);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static StorageFilerTO createMockStorageFilerTO(String uuid) {
StorageFilerTO storageFilerTO = Mockito.mock(StorageFilerTO.class);
when(storageFilerTO.getUuid()).thenReturn(uuid);
return storageFilerTO;
}
Test Case ID #cloudstack_Test_64_2
Test Case Name: testMigrateWithStorageCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: storage2
Suggested Diff
@@
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
- final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
+ final StorageFilerTO storage2 = createMockStorageFilerTO(uuid);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
final NicTO nicTO1 = Mockito.mock(NicTO.class);
@@
when(storage1.getUuid()).thenReturn(uuid);
- when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
when(vol2.getPath()).thenReturn(path);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network networkForSm = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final MigrateWithStorageCommand migrateStorageCommand = new MigrateWithStorageCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
when(vol2.getPath()).thenReturn(path);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
when(xenServer610Resource.getVDIbyUuid(conn, storage1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, storage2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(networkForSm);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).prepareISO(conn, vmName, null, null);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static StorageFilerTO createMockStorageFilerTO(String uuid) {
StorageFilerTO storageFilerTO = Mockito.mock(StorageFilerTO.class);
when(storageFilerTO.getUuid()).thenReturn(uuid);
return storageFilerTO;
}
Test Case ID #cloudstack_Test_64_3
Test Case Name: testMigrateWithStorageReceiveCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: storage1
Suggested Diff
@@
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
- final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
+ final StorageFilerTO storage1 = createMockStorageFilerTO(uuid);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final List<Pair<VolumeTO, String>> volumeToFiler = new ArrayList<>();
volumeToFiler.add(new Pair<>(vol1, storage1.getPath()));
volumeToFiler.add(new Pair<>(vol2, storage2.getPath()));
final NicTO nicTO1 = Mockito.mock(NicTO.class);
@@
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
- when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageReceiveCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final List<Pair<VolumeTO, String>> volumeToFiler = new ArrayList<>();
volumeToFiler.add(new Pair<>(vol1, storage1.getPath()));
volumeToFiler.add(new Pair<>(vol2, storage2.getPath()));
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network network = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final Network nw1 = Mockito.mock(Network.class);
final Network nw2 = Mockito.mock(Network.class);
final Network nw3 = Mockito.mock(Network.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final MigrateWithStorageReceiveCommand migrateStorageCommand = new MigrateWithStorageReceiveCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
try {
when(xenServer610Resource.getNetwork(conn, nicTO1)).thenReturn(nw1);
when(xenServer610Resource.getNetwork(conn, nicTO2)).thenReturn(nw2);
when(xenServer610Resource.getNetwork(conn, nicTO3)).thenReturn(nw3);
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(network);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static StorageFilerTO createMockStorageFilerTO(String uuid) {
StorageFilerTO storageFilerTO = Mockito.mock(StorageFilerTO.class);
when(storageFilerTO.getUuid()).thenReturn(uuid);
return storageFilerTO;
}
Test Case ID #cloudstack_Test_64_4
Test Case Name: testMigrateWithStorageReceiveCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: storage2
Suggested Diff
@@
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
- final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
+ final StorageFilerTO storage2 = createMockStorageFilerTO(uuid);
final List<Pair<VolumeTO, String>> volumeToFiler = new ArrayList<>();
volumeToFiler.add(new Pair<>(vol1, storage1.getPath()));
volumeToFiler.add(new Pair<>(vol2, storage2.getPath()));
final NicTO nicTO1 = Mockito.mock(NicTO.class);
@@
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
- when(storage2.getUuid()).thenReturn(uuid);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
try {
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageReceiveCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final List<Pair<VolumeTO, String>> volumeToFiler = new ArrayList<>();
volumeToFiler.add(new Pair<>(vol1, storage1.getPath()));
volumeToFiler.add(new Pair<>(vol2, storage2.getPath()));
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network network = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final Network nw1 = Mockito.mock(Network.class);
final Network nw2 = Mockito.mock(Network.class);
final Network nw3 = Mockito.mock(Network.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final MigrateWithStorageReceiveCommand migrateStorageCommand = new MigrateWithStorageReceiveCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
try {
when(xenServer610Resource.getNetwork(conn, nicTO1)).thenReturn(nw1);
when(xenServer610Resource.getNetwork(conn, nicTO2)).thenReturn(nw2);
when(xenServer610Resource.getNetwork(conn, nicTO3)).thenReturn(nw3);
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(network);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static StorageFilerTO createMockStorageFilerTO(String uuid) {
StorageFilerTO storageFilerTO = Mockito.mock(StorageFilerTO.class);
when(storageFilerTO.getUuid()).thenReturn(uuid);
return storageFilerTO;
}
Mock Clone Instance #cloudstack_MCI_65
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.StorageFilerTO
- Test Case Count: 5
- MO Count: 5
Reusable Method
private static StorageFilerTO createMockStorageFilerTO(StoragePoolType type) {
StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
when(pool.getType()).thenReturn(type);
return pool;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_65_1
Test Case Name: testResizeVolumeCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
final String path = "nfs:/127.0.0.1/storage/secondary";
- final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
+ final StorageFilerTO pool = createMockStorageFilerTO(StoragePoolType.RBD);
final Long currentSize = 100l;
final Long newSize = 200l;
final boolean shrinkOk = true;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool storagePool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final StorageVol v = Mockito.mock(StorageVol.class);
final Domain vm = Mockito.mock(Domain.class);
final DomainInfo info = Mockito.mock(DomainInfo.class);
final DomainState state = DomainInfo.DomainState.VIR_DOMAIN_RUNNING;
info.state = state;
- when(pool.getType()).thenReturn(StoragePoolType.RBD);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(storagePool);
when(storagePool.getPhysicalDisk(path)).thenReturn(vol);
when(vol.getPath()).thenReturn(path);
when(libvirtComputingResourceMock.getResizeScriptType(storagePool, vol)).thenReturn("FILE");
when(storagePool.getType()).thenReturn(StoragePoolType.RBD);
when(vol.getFormat()).thenReturn(PhysicalDiskFormat.FILE);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnection()).thenReturn(conn);
when(conn.storageVolLookupByPath(path)).thenReturn(v);
when(libvirtUtilitiesHelper.getConnectionByVmName(vmInstance)).thenReturn(conn);
when(conn.domainLookupByName(vmInstance)).thenReturn(vm);
when(vm.getInfo()).thenReturn(info);
when(conn.getLibVirVersion()).thenReturn(10010l);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(2)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnection();
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vmInstance);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
@@
Original Test Code (click to expand)
@Test
public void testResizeVolumeCommand() {
final String path = "nfs:/127.0.0.1/storage/secondary";
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final Long currentSize = 100l;
final Long newSize = 200l;
final boolean shrinkOk = true;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool storagePool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final StorageVol v = Mockito.mock(StorageVol.class);
final Domain vm = Mockito.mock(Domain.class);
final DomainInfo info = Mockito.mock(DomainInfo.class);
final DomainState state = DomainInfo.DomainState.VIR_DOMAIN_RUNNING;
info.state = state;
when(pool.getType()).thenReturn(StoragePoolType.RBD);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(storagePool);
when(storagePool.getPhysicalDisk(path)).thenReturn(vol);
when(vol.getPath()).thenReturn(path);
when(libvirtComputingResourceMock.getResizeScriptType(storagePool, vol)).thenReturn("FILE");
when(storagePool.getType()).thenReturn(StoragePoolType.RBD);
when(vol.getFormat()).thenReturn(PhysicalDiskFormat.FILE);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnection()).thenReturn(conn);
when(conn.storageVolLookupByPath(path)).thenReturn(v);
when(libvirtUtilitiesHelper.getConnectionByVmName(vmInstance)).thenReturn(conn);
when(conn.domainLookupByName(vmInstance)).thenReturn(vm);
when(vm.getInfo()).thenReturn(info);
when(conn.getLibVirVersion()).thenReturn(10010l);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(2)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnection();
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vmInstance);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static StorageFilerTO createMockStorageFilerTO(StoragePoolType type) {
StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
when(pool.getType()).thenReturn(type);
return pool;
}
Test Case ID #cloudstack_Test_65_2
Test Case Name: testResizeVolumeCommandLinstorNotifyOnly(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
final String path = "/dev/drbd1000";
- final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
+ final StorageFilerTO pool = createMockStorageFilerTO(StoragePoolType.Linstor);
final Long currentSize = 100l;
final Long newSize = 200l;
final boolean shrinkOk = false;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool storagePool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final DomainInfo info = Mockito.mock(DomainInfo.class);
final DomainState state = DomainInfo.DomainState.VIR_DOMAIN_RUNNING;
info.state = state;
- when(pool.getType()).thenReturn(StoragePoolType.Linstor);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(storagePool);
when(storagePool.getPhysicalDisk(path)).thenReturn(vol);
when(vol.getPath()).thenReturn(path);
when(storagePool.getType()).thenReturn(StoragePoolType.Linstor);
when(vol.getFormat()).thenReturn(PhysicalDiskFormat.RAW);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vmInstance)).thenReturn(conn);
when(conn.domainLookupByName(vmInstance)).thenReturn(vm);
when(vm.getInfo()).thenReturn(info);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(0)).getResizeScriptType(storagePool, vol);
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(0)).getConnection();
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vmInstance);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
@@
Original Test Code (click to expand)
@Test
public void testResizeVolumeCommandLinstorNotifyOnly() {
final String path = "/dev/drbd1000";
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final Long currentSize = 100l;
final Long newSize = 200l;
final boolean shrinkOk = false;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool storagePool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final DomainInfo info = Mockito.mock(DomainInfo.class);
final DomainState state = DomainInfo.DomainState.VIR_DOMAIN_RUNNING;
info.state = state;
when(pool.getType()).thenReturn(StoragePoolType.Linstor);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(storagePool);
when(storagePool.getPhysicalDisk(path)).thenReturn(vol);
when(vol.getPath()).thenReturn(path);
when(storagePool.getType()).thenReturn(StoragePoolType.Linstor);
when(vol.getFormat()).thenReturn(PhysicalDiskFormat.RAW);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vmInstance)).thenReturn(conn);
when(conn.domainLookupByName(vmInstance)).thenReturn(vm);
when(vm.getInfo()).thenReturn(info);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(0)).getResizeScriptType(storagePool, vol);
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(0)).getConnection();
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vmInstance);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static StorageFilerTO createMockStorageFilerTO(StoragePoolType type) {
StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
when(pool.getType()).thenReturn(type);
return pool;
}
Test Case ID #cloudstack_Test_65_3
Test Case Name: testResizeVolumeCommandShrink(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
final String path = "nfs:/127.0.0.1/storage/secondary";
- final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
+ final StorageFilerTO pool = createMockStorageFilerTO(StoragePoolType.Filesystem);
final Long currentSize = 100l;
final Long newSize = 200l;
final boolean shrinkOk = true;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool storagePool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
- when(pool.getType()).thenReturn(StoragePoolType.Filesystem);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(storagePool);
when(storagePool.getPhysicalDisk(path)).thenReturn(vol);
when(vol.getPath()).thenReturn(path);
when(libvirtComputingResourceMock.getResizeScriptType(storagePool, vol)).thenReturn("QCOW2");
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
@@
Original Test Code (click to expand)
@Test
public void testResizeVolumeCommandShrink() {
final String path = "nfs:/127.0.0.1/storage/secondary";
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final Long currentSize = 100l;
final Long newSize = 200l;
final boolean shrinkOk = true;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool storagePool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
when(pool.getType()).thenReturn(StoragePoolType.Filesystem);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(storagePool);
when(storagePool.getPhysicalDisk(path)).thenReturn(vol);
when(vol.getPath()).thenReturn(path);
when(libvirtComputingResourceMock.getResizeScriptType(storagePool, vol)).thenReturn("QCOW2");
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static StorageFilerTO createMockStorageFilerTO(StoragePoolType type) {
StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
when(pool.getType()).thenReturn(type);
return pool;
}
Test Case ID #cloudstack_Test_65_4
Test Case Name: testResizeVolumeCommandException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
final String path = "nfs:/127.0.0.1/storage/secondary";
- final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
+ final StorageFilerTO pool = createMockStorageFilerTO(StoragePoolType.RBD);
final Long currentSize = 100l;
final Long newSize = 200l;
final boolean shrinkOk = false;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool storagePool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
- when(pool.getType()).thenReturn(StoragePoolType.RBD);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(storagePool);
when(storagePool.getPhysicalDisk(path)).thenReturn(vol);
when(vol.getPath()).thenReturn(path);
when(libvirtComputingResourceMock.getResizeScriptType(storagePool, vol)).thenReturn("FILE");
when(storagePool.getType()).thenReturn(StoragePoolType.RBD);
when(vol.getFormat()).thenReturn(PhysicalDiskFormat.FILE);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnection()).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnection();
} catch (final LibvirtException e) {
fail(e.getMessage());
}
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testResizeVolumeCommandException() {
final String path = "nfs:/127.0.0.1/storage/secondary";
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final Long currentSize = 100l;
final Long newSize = 200l;
final boolean shrinkOk = false;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool storagePool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
when(pool.getType()).thenReturn(StoragePoolType.RBD);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(storagePool);
when(storagePool.getPhysicalDisk(path)).thenReturn(vol);
when(vol.getPath()).thenReturn(path);
when(libvirtComputingResourceMock.getResizeScriptType(storagePool, vol)).thenReturn("FILE");
when(storagePool.getType()).thenReturn(StoragePoolType.RBD);
when(vol.getFormat()).thenReturn(PhysicalDiskFormat.FILE);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnection()).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnection();
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static StorageFilerTO createMockStorageFilerTO(StoragePoolType type) {
StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
when(pool.getType()).thenReturn(type);
return pool;
}
Test Case ID #cloudstack_Test_65_5
Test Case Name: testResizeVolumeCommandException2(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
final String path = "nfs:/127.0.0.1/storage/secondary";
- final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
+ final StorageFilerTO pool = createMockStorageFilerTO(StoragePoolType.RBD);
final Long currentSize = 100l;
final Long newSize = 200l;
final boolean shrinkOk = false;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool storagePool = Mockito.mock(KVMStoragePool.class);
- when(pool.getType()).thenReturn(StoragePoolType.RBD);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(storagePool);
when(storagePool.getPhysicalDisk(path)).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testResizeVolumeCommandException2() {
final String path = "nfs:/127.0.0.1/storage/secondary";
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final Long currentSize = 100l;
final Long newSize = 200l;
final boolean shrinkOk = false;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool storagePool = Mockito.mock(KVMStoragePool.class);
when(pool.getType()).thenReturn(StoragePoolType.RBD);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(storagePool);
when(storagePool.getPhysicalDisk(path)).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Reusable Method for MCI (click to expand)
private static StorageFilerTO createMockStorageFilerTO(StoragePoolType type) {
StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
when(pool.getType()).thenReturn(type);
return pool;
}
Mock Clone Instance #cloudstack_MCI_66
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.StorageFilerTO
- Test Case Count: 4
- MO Count: 4
Reusable Method
private StorageFilerTO pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StorageFilerTO.class);
}
pool;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_66_1
Test Case Name: testCreateCommandNoTemplate(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testCreateCommandNoTemplate() {
final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
- final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
+ // removed local mock; replaced with global field `pool`
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.createPhysicalDisk(diskCharacteristics.getPath(), diskCharacteristics.getProvisioningType(), diskCharacteristics.getSize(), null)).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Original Test Code (click to expand)
@Test
public void testCreateCommandNoTemplate() {
final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.createPhysicalDisk(diskCharacteristics.getPath(), diskCharacteristics.getProvisioningType(), diskCharacteristics.getSize(), null)).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Reusable Method for MCI (click to expand)
private StorageFilerTO pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StorageFilerTO.class);
}
pool;
Test Case ID #cloudstack_Test_66_2
Test Case Name: testCreateCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testCreateCommand() {
final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
- final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
+ // removed local mock; replaced with global field `pool`
final String templateUrl = "http://template";
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, templateUrl, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
- when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
+ when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.getType()).thenReturn(StoragePoolType.CLVM);
when(libvirtComputingResourceMock.templateToPrimaryDownload(command.getTemplateUrl(), primary, diskCharacteristics.getPath())).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
- verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
+ verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Original Test Code (click to expand)
@Test
public void testCreateCommand() {
final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final String templateUrl = "http://template";
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, templateUrl, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.getType()).thenReturn(StoragePoolType.CLVM);
when(libvirtComputingResourceMock.templateToPrimaryDownload(command.getTemplateUrl(), primary, diskCharacteristics.getPath())).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Reusable Method for MCI (click to expand)
private StorageFilerTO pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StorageFilerTO.class);
}
pool;
Test Case ID #cloudstack_Test_66_3
Test Case Name: testCreateCommandCLVM(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testCreateCommandCLVM() {
final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
- final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
+ // removed local mock; replaced with global field `pool`
final String templateUrl = "http://template";
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, templateUrl, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk baseVol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.getPhysicalDisk(command.getTemplateUrl())).thenReturn(baseVol);
when(poolManager.createDiskFromTemplate(baseVol, diskCharacteristics.getPath(), diskCharacteristics.getProvisioningType(), primary, baseVol.getSize(), 0, null)).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Original Test Code (click to expand)
@Test
public void testCreateCommandCLVM() {
final DiskProfile diskCharacteristics = Mockito.mock(DiskProfile.class);
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final String templateUrl = "http://template";
final boolean executeInSequence = false;
final CreateCommand command = new CreateCommand(diskCharacteristics, templateUrl, pool, executeInSequence);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk vol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk baseVol = Mockito.mock(KVMPhysicalDisk.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(primary.getPhysicalDisk(command.getTemplateUrl())).thenReturn(baseVol);
when(poolManager.createDiskFromTemplate(baseVol, diskCharacteristics.getPath(), diskCharacteristics.getProvisioningType(), primary, baseVol.getSize(), 0, null)).thenReturn(vol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(pool.getType(), pool.getUuid());
}
Reusable Method for MCI (click to expand)
private StorageFilerTO pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StorageFilerTO.class);
}
pool;
Test Case ID #cloudstack_Test_66_4
Test Case Name: testResizeVolumeCommandSameSize(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testResizeVolumeCommandSameSize() {
final String path = "nfs:/127.0.0.1/storage/secondary";
- final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
+ // removed local mock; replaced with global field `pool`
final Long currentSize = 100l;
final Long newSize = 100l;
final boolean shrinkOk = false;
final String vmInstance = "Test";
- final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
+ final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
}
Original Test Code (click to expand)
@Test
public void testResizeVolumeCommandSameSize() {
final String path = "nfs:/127.0.0.1/storage/secondary";
final StorageFilerTO pool = Mockito.mock(StorageFilerTO.class);
final Long currentSize = 100l;
final Long newSize = 100l;
final boolean shrinkOk = false;
final String vmInstance = "Test";
final ResizeVolumeCommand command = new ResizeVolumeCommand(path, pool, currentSize, newSize, shrinkOk, vmInstance, null);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
}
Reusable Method for MCI (click to expand)
private StorageFilerTO pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StorageFilerTO.class);
}
pool;
Mock Clone Instance #cloudstack_MCI_67
- Scope: class level
- Mocked Class:
com.cloud.projects.Project
- Test Case Count: 1
- MO Count: 2
Reusable Method
public class MockProject {
public static Project createMockProject(long id) {
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(id);
return project;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_67_1
Test Case Name: testGetEntityOwnerIdForProject(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\ActivateProjectCmdTest.java)
Mock Object Variable Name: project
Suggested Diff
@@
@Test
public void testGetEntityOwnerIdForProject() {
- Project project = Mockito.mock(Project.class);
- Mockito.when(project.getId()).thenReturn(2L);
+ Project project = MockProject.createMockProject(2L);
ProjectService projectService = Mockito.mock(ProjectService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(2L);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
activateProjectCmd._projectService = projectService;
Assert.assertEquals(2L, activateProjectCmd.getEntityOwnerId());
}
@@
Original Test Code (click to expand)
@Test
public void testGetEntityOwnerIdForProject() {
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(2L);
ProjectService projectService = Mockito.mock(ProjectService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(2L);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
activateProjectCmd._projectService = projectService;
Assert.assertEquals(2L, activateProjectCmd.getEntityOwnerId());
}
Reusable Method for MCI (click to expand)
public class MockProject {
public static Project createMockProject(long id) {
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(id);
return project;
}
}
Test Case ID #cloudstack_Test_67_2
Test Case Name: testGetEntityOwnerIdForProject(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\AddAccountToProjectCmdTest.java)
Mock Object Variable Name: project
Suggested Diff
@@
public void testGetEntityOwnerIdForProject() {
- Project project = Mockito.mock(Project.class);
- Mockito.when(project.getId()).thenReturn(2L);
+ Project project = MockProject.createMockProject(2L);
ProjectService projectService = Mockito.mock(ProjectService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(2L);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
addAccountToProjectCmd._projectService = projectService;
Assert.assertEquals(2L, addAccountToProjectCmd.getEntityOwnerId());
}
Original Test Code (click to expand)
@Test
public void testGetEntityOwnerIdForProject() {
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(2L);
ProjectService projectService = Mockito.mock(ProjectService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(2L);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
addAccountToProjectCmd._projectService = projectService;
Assert.assertEquals(2L, addAccountToProjectCmd.getEntityOwnerId());
}
Reusable Method for MCI (click to expand)
public class MockProject {
public static Project createMockProject(long id) {
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(id);
return project;
}
}
Mock Clone Instance #cloudstack_MCI_68
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.admin.network.DeleteGuestNetworkIpv6PrefixCmd
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static DeleteGuestNetworkIpv6PrefixCmd createMockDeleteGuestNetworkIpv6PrefixCmd(Long idReturn) {
DeleteGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(DeleteGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getId()).thenReturn(idReturn);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_68_1
Test Case Name: testUsedDeleteDataCenterGuestIpv6Prefix(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
final Long prefixId = 1L;
- DeleteGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(DeleteGuestNetworkIpv6PrefixCmd.class);
- Mockito.when(cmd.getId()).thenReturn(prefixId);
+ DeleteGuestNetworkIpv6PrefixCmd cmd = createMockDeleteGuestNetworkIpv6PrefixCmd(prefixId);
DataCenterGuestIpv6PrefixVO prefixVO = Mockito.mock(DataCenterGuestIpv6PrefixVO.class);
Mockito.when(prefixVO.getId()).thenReturn(prefixId);
Mockito.when(dataCenterGuestIpv6PrefixDao.findById(Mockito.anyLong())).thenReturn(prefixVO);
Mockito.when(ipv6GuestPrefixSubnetNetworkMapDao.listUsedByPrefix(Mockito.anyLong())).thenReturn(List.of(Mockito.mock(Ipv6GuestPrefixSubnetNetworkMapVO.class)));
configurationMgr.deleteDataCenterGuestIpv6Prefix(cmd);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testUsedDeleteDataCenterGuestIpv6Prefix() {
final Long prefixId = 1L;
DeleteGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(DeleteGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getId()).thenReturn(prefixId);
DataCenterGuestIpv6PrefixVO prefixVO = Mockito.mock(DataCenterGuestIpv6PrefixVO.class);
Mockito.when(prefixVO.getId()).thenReturn(prefixId);
Mockito.when(dataCenterGuestIpv6PrefixDao.findById(Mockito.anyLong())).thenReturn(prefixVO);
Mockito.when(ipv6GuestPrefixSubnetNetworkMapDao.listUsedByPrefix(Mockito.anyLong())).thenReturn(List.of(Mockito.mock(Ipv6GuestPrefixSubnetNetworkMapVO.class)));
configurationMgr.deleteDataCenterGuestIpv6Prefix(cmd);
}
Reusable Method for MCI (click to expand)
private static DeleteGuestNetworkIpv6PrefixCmd createMockDeleteGuestNetworkIpv6PrefixCmd(Long idReturn) {
DeleteGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(DeleteGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getId()).thenReturn(idReturn);
return cmd;
}
Test Case ID #cloudstack_Test_68_2
Test Case Name: testDeleteDataCenterGuestIpv6Prefix(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
final Long prefixId = 1L;
- DeleteGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(DeleteGuestNetworkIpv6PrefixCmd.class);
- Mockito.when(cmd.getId()).thenReturn(prefixId);
+ DeleteGuestNetworkIpv6PrefixCmd cmd = createMockDeleteGuestNetworkIpv6PrefixCmd(prefixId);
DataCenterGuestIpv6PrefixVO prefixVO = Mockito.mock(DataCenterGuestIpv6PrefixVO.class);
Mockito.when(prefixVO.getId()).thenReturn(prefixId);
Mockito.when(dataCenterGuestIpv6PrefixDao.findById(Mockito.anyLong())).thenReturn(prefixVO);
Mockito.when(ipv6GuestPrefixSubnetNetworkMapDao.listUsedByPrefix(Mockito.anyLong())).thenReturn(new ArrayList<>());
final List<Long> removedPrefix = new ArrayList<>();
Mockito.when(dataCenterGuestIpv6PrefixDao.remove(Mockito.anyLong())).thenAnswer((Answer<Boolean>) invocation -> {
removedPrefix.add(invocation.getArgument(0));
return true;
});
configurationMgr.deleteDataCenterGuestIpv6Prefix(cmd);
Assert.assertEquals(1, removedPrefix.size());
Assert.assertEquals(prefixId, removedPrefix.get(0));
@@
Original Test Code (click to expand)
@Test
public void testDeleteDataCenterGuestIpv6Prefix() {
final Long prefixId = 1L;
DeleteGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(DeleteGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getId()).thenReturn(prefixId);
DataCenterGuestIpv6PrefixVO prefixVO = Mockito.mock(DataCenterGuestIpv6PrefixVO.class);
Mockito.when(prefixVO.getId()).thenReturn(prefixId);
Mockito.when(dataCenterGuestIpv6PrefixDao.findById(Mockito.anyLong())).thenReturn(prefixVO);
Mockito.when(ipv6GuestPrefixSubnetNetworkMapDao.listUsedByPrefix(Mockito.anyLong())).thenReturn(new ArrayList<>());
final List<Long> removedPrefix = new ArrayList<>();
Mockito.when(dataCenterGuestIpv6PrefixDao.remove(Mockito.anyLong())).thenAnswer((Answer<Boolean>) invocation -> {
removedPrefix.add(invocation.getArgument(0));
return true;
});
configurationMgr.deleteDataCenterGuestIpv6Prefix(cmd);
Assert.assertEquals(1, removedPrefix.size());
Assert.assertEquals(prefixId, removedPrefix.get(0));
}
Reusable Method for MCI (click to expand)
private static DeleteGuestNetworkIpv6PrefixCmd createMockDeleteGuestNetworkIpv6PrefixCmd(Long idReturn) {
DeleteGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(DeleteGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getId()).thenReturn(idReturn);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_69
- Scope: method level
- Mocked Class:
javax.xml.parsers.DocumentBuilderFactory
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static DocumentBuilderFactory createMockDocumentBuilderFactory(DocumentBuilder documentBuilder) {
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
return documentBuilderFactory;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_69_1
Test Case Name: getSnhItfReqTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Mock Object Variable Name: documentBuilderFactory
Suggested Diff
@@
InputStream inputStream = mock(InputStream.class);
- DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
- when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
- when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
+ DocumentBuilderFactory documentBuilderFactory = createMockDocumentBuilderFactory(documentBuilder);
+ when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilder.parse(any(InputStream.class))).thenReturn(document);
assertEquals(document, introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
@@
Original Test Code (click to expand)
@Test
public void getSnhItfReqTest() throws Exception {
Document document = mock(Document.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenReturn(document);
assertEquals(document, introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
private static DocumentBuilderFactory createMockDocumentBuilderFactory(DocumentBuilder documentBuilder) {
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
return documentBuilderFactory;
}
Test Case ID #cloudstack_Test_69_2
Test Case Name: getSnhItfReqWithSAXExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Mock Object Variable Name: documentBuilderFactory
Suggested Diff
@@
InputStream inputStream = mock(InputStream.class);
- DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
+ DocumentBuilderFactory documentBuilderFactory = createMockDocumentBuilderFactory(documentBuilder);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
- when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenThrow(SAXException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
@@
Original Test Code (click to expand)
@Test
public void getSnhItfReqWithSAXExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenThrow(SAXException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
private static DocumentBuilderFactory createMockDocumentBuilderFactory(DocumentBuilder documentBuilder) {
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
return documentBuilderFactory;
}
Mock Clone Instance #cloudstack_MCI_70
- Scope: method level
- Mocked Class:
SnapshotObjectTO
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static SnapshotObjectTO createMockSnapshotObjectTO(String pathReturn) {
SnapshotObjectTO mock = Mockito.mock(SnapshotObjectTO.class);
Mockito.doReturn(pathReturn).when(mock).getPath();
return mock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_70_1
Test Case Name: validateGetSnapshotPathExistsOnPrimaryStorage(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\wrapper\LibvirtRevertSnapshotCommandWrapperTest.java)
Mock Object Variable Name: snapshotObjectToPrimaryMock
Suggested Diff
@@
public void validateGetSnapshotPathExistsOnPrimaryStorage() {
String snapshotPath = "test";
- Pair<String, SnapshotObjectTO> expectedResult = new Pair<>(snapshotPath, snapshotObjectToPrimaryMock);
- Mockito.doReturn(snapshotPath).when(snapshotObjectToPrimaryMock).getPath();
+ snapshotObjectToPrimaryMock = createMockSnapshotObjectTO(snapshotPath);
+ Pair<String, SnapshotObjectTO> expectedResult = new Pair<>(snapshotPath, snapshotObjectToPrimaryMock);
PowerMockito.mockStatic(Files.class);
PowerMockito.when(Files.exists(Mockito.any(Path.class), Mockito.any())).thenReturn(true);
Pair<String, SnapshotObjectTO> result = libvirtRevertSnapshotCommandWrapperSpy.getSnapshot(snapshotObjectToPrimaryMock, snapshotObjectToSecondaryMock, kvmStoragePoolPrimaryMock, kvmStoragePoolSecondaryMock);
Assert.assertEquals(expectedResult.first(), result.first());
Assert.assertEquals(expectedResult.second(), result.second());
}
Original Test Code (click to expand)
@Test
@PrepareForTest(LibvirtRevertSnapshotCommandWrapper.class)
public void validateGetSnapshotPathExistsOnPrimaryStorage() {
String snapshotPath = "test";
Pair<String, SnapshotObjectTO> expectedResult = new Pair<>(snapshotPath, snapshotObjectToPrimaryMock);
Mockito.doReturn(snapshotPath).when(snapshotObjectToPrimaryMock).getPath();
PowerMockito.mockStatic(Files.class);
PowerMockito.when(Files.exists(Mockito.any(Path.class), Mockito.any())).thenReturn(true);
Pair<String, SnapshotObjectTO> result = libvirtRevertSnapshotCommandWrapperSpy.getSnapshot(snapshotObjectToPrimaryMock, snapshotObjectToSecondaryMock, kvmStoragePoolPrimaryMock, kvmStoragePoolSecondaryMock);
Assert.assertEquals(expectedResult.first(), result.first());
Assert.assertEquals(expectedResult.second(), result.second());
}
Reusable Method for MCI (click to expand)
private static SnapshotObjectTO createMockSnapshotObjectTO(String pathReturn) {
SnapshotObjectTO mock = Mockito.mock(SnapshotObjectTO.class);
Mockito.doReturn(pathReturn).when(mock).getPath();
return mock;
}
Test Case ID #cloudstack_Test_70_2
Test Case Name: validateGetSnapshotPathExistsOnSecondaryStorage(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\wrapper\LibvirtRevertSnapshotCommandWrapperTest.java)
Mock Object Variable Name: snapshotObjectToSecondaryMock
Suggested Diff
@@
String snapshotPath = "test";
- Pair<String, SnapshotObjectTO> expectedResult = new Pair<>(snapshotPath, snapshotObjectToSecondaryMock);
+ snapshotObjectToSecondaryMock = createMockSnapshotObjectTO(snapshotPath);
+ Pair<String, SnapshotObjectTO> expectedResult = new Pair<>(snapshotPath, snapshotObjectToSecondaryMock);
PowerMockito.mockStatic(Files.class, Paths.class);
PowerMockito.when(Paths.get(Mockito.any(), Mockito.any())).thenReturn(pathMock);
PowerMockito.when(Files.exists(Mockito.any(Path.class), Mockito.any())).thenReturn(false);
- Mockito.doReturn(snapshotPath).when(snapshotObjectToSecondaryMock).getPath();
Mockito.doReturn(snapshotPath).when(libvirtRevertSnapshotCommandWrapperSpy).getFullPathAccordingToStorage(Mockito.any(), Mockito.any());
Pair<String, SnapshotObjectTO> result = libvirtRevertSnapshotCommandWrapperSpy.getSnapshot(snapshotObjectToPrimaryMock, snapshotObjectToSecondaryMock, kvmStoragePoolPrimaryMock, kvmStoragePoolSecondaryMock);
Assert.assertEquals(expectedResult.first(), result.first());
Assert.assertEquals(expectedResult.second(), result.second());
Original Test Code (click to expand)
@Test
@PrepareForTest(LibvirtRevertSnapshotCommandWrapper.class)
public void validateGetSnapshotPathExistsOnSecondaryStorage() {
String snapshotPath = "test";
Pair<String, SnapshotObjectTO> expectedResult = new Pair<>(snapshotPath, snapshotObjectToSecondaryMock);
PowerMockito.mockStatic(Files.class, Paths.class);
PowerMockito.when(Paths.get(Mockito.any(), Mockito.any())).thenReturn(pathMock);
PowerMockito.when(Files.exists(Mockito.any(Path.class), Mockito.any())).thenReturn(false);
Mockito.doReturn(snapshotPath).when(snapshotObjectToSecondaryMock).getPath();
Mockito.doReturn(snapshotPath).when(libvirtRevertSnapshotCommandWrapperSpy).getFullPathAccordingToStorage(Mockito.any(), Mockito.any());
Pair<String, SnapshotObjectTO> result = libvirtRevertSnapshotCommandWrapperSpy.getSnapshot(snapshotObjectToPrimaryMock, snapshotObjectToSecondaryMock, kvmStoragePoolPrimaryMock, kvmStoragePoolSecondaryMock);
Assert.assertEquals(expectedResult.first(), result.first());
Assert.assertEquals(expectedResult.second(), result.second());
}
Reusable Method for MCI (click to expand)
private static SnapshotObjectTO createMockSnapshotObjectTO(String pathReturn) {
SnapshotObjectTO mock = Mockito.mock(SnapshotObjectTO.class);
Mockito.doReturn(pathReturn).when(mock).getPath();
return mock;
}
Mock Clone Instance #cloudstack_MCI_71
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.SnapshotStrategy
- Test Case Count: 1
- MO Count: 4
Reusable Method
private static SnapshotStrategy createMockSnapshotStrategy(StrategyPriority priority) {
SnapshotStrategy strategy = mock(SnapshotStrategy.class);
doReturn(priority).when(strategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
return strategy;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_71_1
Test Case Name: testSortSnapshotStrategies(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: cantHandleStrategy
Suggested Diff
@@
@Test
public void testSortSnapshotStrategies() {
- SnapshotStrategy cantHandleStrategy = mock(SnapshotStrategy.class);
+ SnapshotStrategy cantHandleStrategy = createMockSnapshotStrategy(StrategyPriority.CANT_HANDLE);
SnapshotStrategy defaultStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy hyperStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy highestStrategy = mock(SnapshotStrategy.class);
- doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
List<SnapshotStrategy> strategies = new ArrayList<SnapshotStrategy>(5);
SnapshotStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setSnapshotStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
@@
Original Test Code (click to expand)
@Test
public void testSortSnapshotStrategies() {
SnapshotStrategy cantHandleStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy defaultStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy hyperStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy highestStrategy = mock(SnapshotStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
List<SnapshotStrategy> strategies = new ArrayList<SnapshotStrategy>(5);
SnapshotStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setSnapshotStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static SnapshotStrategy createMockSnapshotStrategy(StrategyPriority priority) {
SnapshotStrategy strategy = mock(SnapshotStrategy.class);
doReturn(priority).when(strategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
return strategy;
}
Test Case ID #cloudstack_Test_71_2
Test Case Name: testSortSnapshotStrategies(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: defaultStrategy
Suggested Diff
@@
SnapshotStrategy cantHandleStrategy = mock(SnapshotStrategy.class);
- SnapshotStrategy defaultStrategy = mock(SnapshotStrategy.class);
+ SnapshotStrategy defaultStrategy = createMockSnapshotStrategy(StrategyPriority.DEFAULT);
SnapshotStrategy hyperStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy highestStrategy = mock(SnapshotStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
- doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
@@
Original Test Code (click to expand)
@Test
public void testSortSnapshotStrategies() {
SnapshotStrategy cantHandleStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy defaultStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy hyperStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy highestStrategy = mock(SnapshotStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
List<SnapshotStrategy> strategies = new ArrayList<SnapshotStrategy>(5);
SnapshotStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setSnapshotStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static SnapshotStrategy createMockSnapshotStrategy(StrategyPriority priority) {
SnapshotStrategy strategy = mock(SnapshotStrategy.class);
doReturn(priority).when(strategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
return strategy;
}
Test Case ID #cloudstack_Test_71_3
Test Case Name: testSortSnapshotStrategies(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: hyperStrategy
Suggested Diff
@@
SnapshotStrategy cantHandleStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy defaultStrategy = mock(SnapshotStrategy.class);
- SnapshotStrategy hyperStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy highestStrategy = mock(SnapshotStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
- doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
+ SnapshotStrategy hyperStrategy = createMockSnapshotStrategy(StrategyPriority.HYPERVISOR);
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
List<SnapshotStrategy> strategies = new ArrayList<SnapshotStrategy>(5);
@@
Original Test Code (click to expand)
@Test
public void testSortSnapshotStrategies() {
SnapshotStrategy cantHandleStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy defaultStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy hyperStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy highestStrategy = mock(SnapshotStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
List<SnapshotStrategy> strategies = new ArrayList<SnapshotStrategy>(5);
SnapshotStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setSnapshotStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static SnapshotStrategy createMockSnapshotStrategy(StrategyPriority priority) {
SnapshotStrategy strategy = mock(SnapshotStrategy.class);
doReturn(priority).when(strategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
return strategy;
}
Test Case ID #cloudstack_Test_71_4
Test Case Name: testSortSnapshotStrategies(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: highestStrategy
Suggested Diff
@@
SnapshotStrategy defaultStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy hyperStrategy = mock(SnapshotStrategy.class);
- SnapshotStrategy highestStrategy = mock(SnapshotStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
- doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
+ SnapshotStrategy highestStrategy = createMockSnapshotStrategy(StrategyPriority.HIGHEST);
List<SnapshotStrategy> strategies = new ArrayList<SnapshotStrategy>(5);
SnapshotStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
@@
Original Test Code (click to expand)
@Test
public void testSortSnapshotStrategies() {
SnapshotStrategy cantHandleStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy defaultStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy hyperStrategy = mock(SnapshotStrategy.class);
SnapshotStrategy highestStrategy = mock(SnapshotStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
List<SnapshotStrategy> strategies = new ArrayList<SnapshotStrategy>(5);
SnapshotStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setSnapshotStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getSnapshotStrategy(mock(Snapshot.class), SnapshotOperation.TAKE);
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static SnapshotStrategy createMockSnapshotStrategy(StrategyPriority priority) {
SnapshotStrategy strategy = mock(SnapshotStrategy.class);
doReturn(priority).when(strategy).canHandle(any(Snapshot.class), any(SnapshotOperation.class));
return strategy;
}
Mock Clone Instance #cloudstack_MCI_72
- Scope: method level
- Mocked Class:
com.cloud.utils.fsm.StateMachine2.Transition<com.cloud.vm.VirtualMachine.State, com.cloud.vm.VirtualMachine.Event>
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> createMockTransition(VirtualMachine.State currentState, VirtualMachine.State toState) {
StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> transition = mock(StateMachine2.Transition.class);
when(transition.getCurrentState()).thenReturn(currentState);
when(transition.getToState()).thenReturn(toState);
return transition;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_72_1
Test Case Name: postStateTransitionEventWithVmStartedTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: transition
Suggested Diff
@@
@Test
public void postStateTransitionEventWithVmStartedTest() {
- StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> transition = mock(StateMachine2.Transition.class);
VMInstanceVO vo = mock(VMInstanceVO.class);
Object opaque = mock(Object.class);
- when(transition.getCurrentState()).thenReturn(VirtualMachine.State.Starting);
- when(transition.getToState()).thenReturn(VirtualMachine.State.Running);
+ StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> transition = createMockTransition(VirtualMachine.State.Starting, VirtualMachine.State.Running);
when(tungstenService.addTungstenVmSecurityGroup(any(VMInstanceVO.class))).thenReturn(true);
assertTrue(tungstenElement.postStateTransitionEvent(transition, vo, true, opaque));
}
@@
Original Test Code (click to expand)
@Test
public void postStateTransitionEventWithVmStartedTest() {
StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> transition = mock(StateMachine2.Transition.class);
VMInstanceVO vo = mock(VMInstanceVO.class);
Object opaque = mock(Object.class);
when(transition.getCurrentState()).thenReturn(VirtualMachine.State.Starting);
when(transition.getToState()).thenReturn(VirtualMachine.State.Running);
when(tungstenService.addTungstenVmSecurityGroup(any(VMInstanceVO.class))).thenReturn(true);
assertTrue(tungstenElement.postStateTransitionEvent(transition, vo, true, opaque));
}
Reusable Method for MCI (click to expand)
private static StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> createMockTransition(VirtualMachine.State currentState, VirtualMachine.State toState) {
StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> transition = mock(StateMachine2.Transition.class);
when(transition.getCurrentState()).thenReturn(currentState);
when(transition.getToState()).thenReturn(toState);
return transition;
}
Test Case ID #cloudstack_Test_72_2
Test Case Name: postStateTransitionEventWithVmStopedTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: transition
Suggested Diff
@@
public void postStateTransitionEventWithVmStopedTest() {
- StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> transition = mock(StateMachine2.Transition.class);
+ StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> transition = createMockTransition(VirtualMachine.State.Stopping, VirtualMachine.State.Stopped);
VMInstanceVO vo = mock(VMInstanceVO.class);
Object opaque = mock(Object.class);
- when(transition.getCurrentState()).thenReturn(VirtualMachine.State.Stopping);
- when(transition.getToState()).thenReturn(VirtualMachine.State.Stopped);
when(tungstenService.removeTungstenVmSecurityGroup(any(VMInstanceVO.class))).thenReturn(true);
assertTrue(tungstenElement.postStateTransitionEvent(transition, vo, true, opaque));
}
Original Test Code (click to expand)
@Test
public void postStateTransitionEventWithVmStopedTest() {
StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> transition = mock(StateMachine2.Transition.class);
VMInstanceVO vo = mock(VMInstanceVO.class);
Object opaque = mock(Object.class);
when(transition.getCurrentState()).thenReturn(VirtualMachine.State.Stopping);
when(transition.getToState()).thenReturn(VirtualMachine.State.Stopped);
when(tungstenService.removeTungstenVmSecurityGroup(any(VMInstanceVO.class))).thenReturn(true);
assertTrue(tungstenElement.postStateTransitionEvent(transition, vo, true, opaque));
}
Reusable Method for MCI (click to expand)
private static StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> createMockTransition(VirtualMachine.State currentState, VirtualMachine.State toState) {
StateMachine2.Transition<VirtualMachine.State, VirtualMachine.Event> transition = mock(StateMachine2.Transition.class);
when(transition.getCurrentState()).thenReturn(currentState);
when(transition.getToState()).thenReturn(toState);
return transition;
}
Mock Clone Instance #cloudstack_MCI_73
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStore
- Test Case Count: 6
- MO Count: 6
Reusable Method
private static PrimaryDataStore createMockPrimaryDataStore(long idReturn) {
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
when(mockPrimaryDataStore.getId()).thenReturn(idReturn);
return mockPrimaryDataStore;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_73_1
Test Case Name: testPrepareTemplateIsSeeded(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\template\TemplateManagerImplTest.java)
Mock Object Variable Name: mockPrimaryDataStore
Suggested Diff
@@
StoragePoolVO mockPool = mock(StoragePoolVO.class);
when(mockPool.getId()).thenReturn(2l);
- PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
- when(mockPrimaryDataStore.getId()).thenReturn(2l);
+ PrimaryDataStore mockPrimaryDataStore = createMockPrimaryDataStore(2l);
VMTemplateStoragePoolVO mockTemplateStore = mock(VMTemplateStoragePoolVO.class);
when(mockTemplateStore.getDownloadState()).thenReturn(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
@@
Original Test Code (click to expand)
@Test
public void testPrepareTemplateIsSeeded() {
VMTemplateVO mockTemplate = mock(VMTemplateVO.class);
when(mockTemplate.getId()).thenReturn(202l);
StoragePoolVO mockPool = mock(StoragePoolVO.class);
when(mockPool.getId()).thenReturn(2l);
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
when(mockPrimaryDataStore.getId()).thenReturn(2l);
VMTemplateStoragePoolVO mockTemplateStore = mock(VMTemplateStoragePoolVO.class);
when(mockTemplateStore.getDownloadState()).thenReturn(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
when(vmTemplateDao.findById(anyLong(), anyBoolean())).thenReturn(mockTemplate);
when(vmTemplatePoolDao.findByPoolTemplate(anyLong(), anyLong(), nullable(String.class))).thenReturn(mockTemplateStore);
doNothing().when(mockTemplateStore).setMarkedForGC(anyBoolean());
VMTemplateStoragePoolVO returnObject = templateManager.prepareTemplateForCreate(mockTemplate, (StoragePool) mockPrimaryDataStore);
assertTrue("Test template is already seeded", returnObject == mockTemplateStore);
}
Reusable Method for MCI (click to expand)
private static PrimaryDataStore createMockPrimaryDataStore(long idReturn) {
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
when(mockPrimaryDataStore.getId()).thenReturn(idReturn);
return mockPrimaryDataStore;
}
Test Case ID #cloudstack_Test_73_2
Test Case Name: testPrepareTemplateNotDownloaded(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\template\TemplateManagerImplTest.java)
Mock Object Variable Name: mockPrimaryDataStore
Suggested Diff
@@
StoragePoolVO mockPool = mock(StoragePoolVO.class);
when(mockPool.getId()).thenReturn(2l);
- PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
- when(mockPrimaryDataStore.getId()).thenReturn(2l);
- when(mockPrimaryDataStore.getDataCenterId()).thenReturn(1l);
+ PrimaryDataStore mockPrimaryDataStore = createMockPrimaryDataStore(2l);
+ when(mockPrimaryDataStore.getDataCenterId()).thenReturn(1l);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
when(vmTemplateDao.findById(anyLong(), anyBoolean())).thenReturn(mockTemplate);
@@
Original Test Code (click to expand)
@Test
public void testPrepareTemplateNotDownloaded() {
VMTemplateVO mockTemplate = mock(VMTemplateVO.class);
when(mockTemplate.getId()).thenReturn(202l);
StoragePoolVO mockPool = mock(StoragePoolVO.class);
when(mockPool.getId()).thenReturn(2l);
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
when(mockPrimaryDataStore.getId()).thenReturn(2l);
when(mockPrimaryDataStore.getDataCenterId()).thenReturn(1l);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
when(vmTemplateDao.findById(anyLong(), anyBoolean())).thenReturn(mockTemplate);
when(vmTemplatePoolDao.findByPoolTemplate(anyLong(), anyLong(), nullable(String.class))).thenReturn(null);
when(templateDataStoreDao.findByTemplateZoneDownloadStatus(202l, 1l, VMTemplateStorageResourceAssoc.Status.DOWNLOADED)).thenReturn(null);
VMTemplateStoragePoolVO returnObject = templateManager.prepareTemplateForCreate(mockTemplate, (StoragePool) mockPrimaryDataStore);
assertTrue("Test template is not ready", returnObject == null);
}
Reusable Method for MCI (click to expand)
private static PrimaryDataStore createMockPrimaryDataStore(long idReturn) {
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
when(mockPrimaryDataStore.getId()).thenReturn(idReturn);
return mockPrimaryDataStore;
}
Test Case ID #cloudstack_Test_73_3
Test Case Name: testPrepareTemplateNoHostConnectedToPool(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\template\TemplateManagerImplTest.java)
Mock Object Variable Name: mockPrimaryDataStore
Suggested Diff
@@
StoragePoolVO mockPool = mock(StoragePoolVO.class);
when(mockPool.getId()).thenReturn(2l);
- PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
- when(mockPrimaryDataStore.getId()).thenReturn(2l);
- when(mockPrimaryDataStore.getDataCenterId()).thenReturn(1l);
+ PrimaryDataStore mockPrimaryDataStore = createMockPrimaryDataStore(2l);
TemplateDataStoreVO mockTemplateDataStore = mock(TemplateDataStoreVO.class);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testPrepareTemplateNoHostConnectedToPool() {
VMTemplateVO mockTemplate = mock(VMTemplateVO.class);
when(mockTemplate.getId()).thenReturn(202l);
StoragePoolVO mockPool = mock(StoragePoolVO.class);
when(mockPool.getId()).thenReturn(2l);
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
when(mockPrimaryDataStore.getId()).thenReturn(2l);
when(mockPrimaryDataStore.getDataCenterId()).thenReturn(1l);
TemplateDataStoreVO mockTemplateDataStore = mock(TemplateDataStoreVO.class);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
when(vmTemplateDao.findById(anyLong(), anyBoolean())).thenReturn(mockTemplate);
when(vmTemplatePoolDao.findByPoolTemplate(anyLong(), anyLong(), nullable(String.class))).thenReturn(null);
when(templateDataStoreDao.findByTemplateZoneDownloadStatus(202l, 1l, VMTemplateStorageResourceAssoc.Status.DOWNLOADED)).thenReturn(mockTemplateDataStore);
when(storagePoolHostDao.listByHostStatus(2l, Status.Up)).thenReturn(null);
templateManager.prepareTemplateForCreate(mockTemplate, (StoragePool) mockPrimaryDataStore);
}
Reusable Method for MCI (click to expand)
private static PrimaryDataStore createMockPrimaryDataStore(long idReturn) {
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
when(mockPrimaryDataStore.getId()).thenReturn(idReturn);
return mockPrimaryDataStore;
}
Test Case ID #cloudstack_Test_73_4
Test Case Name: testTemplateScheduledForDownloadInOnePool(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\template\TemplateManagerImplTest.java)
Mock Object Variable Name: mockPrimaryDataStore
Suggested Diff
@@
VMTemplateVO mockTemplate = mock(VMTemplateVO.class);
StoragePoolVO mockPool = mock(StoragePoolVO.class);
- PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
+ PrimaryDataStore mockPrimaryDataStore = createMockPrimaryDataStore(2l);
VMTemplateStoragePoolVO mockTemplateStore = mock(VMTemplateStoragePoolVO.class);
- when(mockPrimaryDataStore.getId()).thenReturn(2l);
when(mockPool.getId()).thenReturn(2l);
when(mockPool.getStatus()).thenReturn(StoragePoolStatus.Up);
when(mockPool.getDataCenterId()).thenReturn(1l);
when(mockTemplate.getId()).thenReturn(202l);
when(mockTemplateStore.getDownloadState()).thenReturn(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
when(vmTemplateDao.findById(anyLong())).thenReturn(mockTemplate);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
when(vmTemplateDao.findById(anyLong(), anyBoolean())).thenReturn(mockTemplate);
when(vmTemplatePoolDao.findByPoolTemplate(anyLong(), anyLong(), nullable(String.class))).thenReturn(mockTemplateStore);
when(primaryDataStoreDao.findById(anyLong())).thenReturn(mockPool);
doNothing().when(mockTemplateStore).setMarkedForGC(anyBoolean());
ExecutorService preloadExecutor = new CustomThreadPoolExecutor(8, 8, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(), new NamedThreadFactory("Template-Preloader"));
templateManager._preloadExecutor = preloadExecutor;
templateManager.prepareTemplate(202, 1, 2l);
assertTrue("Test template is scheduled for seeding to on pool", ((CustomThreadPoolExecutor) preloadExecutor).getCount() == 1);
@@
Original Test Code (click to expand)
@Test
public void testTemplateScheduledForDownloadInOnePool() {
VMTemplateVO mockTemplate = mock(VMTemplateVO.class);
StoragePoolVO mockPool = mock(StoragePoolVO.class);
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
VMTemplateStoragePoolVO mockTemplateStore = mock(VMTemplateStoragePoolVO.class);
when(mockPrimaryDataStore.getId()).thenReturn(2l);
when(mockPool.getId()).thenReturn(2l);
when(mockPool.getStatus()).thenReturn(StoragePoolStatus.Up);
when(mockPool.getDataCenterId()).thenReturn(1l);
when(mockTemplate.getId()).thenReturn(202l);
when(mockTemplateStore.getDownloadState()).thenReturn(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
when(vmTemplateDao.findById(anyLong())).thenReturn(mockTemplate);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
when(vmTemplateDao.findById(anyLong(), anyBoolean())).thenReturn(mockTemplate);
when(vmTemplatePoolDao.findByPoolTemplate(anyLong(), anyLong(), nullable(String.class))).thenReturn(mockTemplateStore);
when(primaryDataStoreDao.findById(anyLong())).thenReturn(mockPool);
doNothing().when(mockTemplateStore).setMarkedForGC(anyBoolean());
ExecutorService preloadExecutor = new CustomThreadPoolExecutor(8, 8, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(), new NamedThreadFactory("Template-Preloader"));
templateManager._preloadExecutor = preloadExecutor;
templateManager.prepareTemplate(202, 1, 2l);
assertTrue("Test template is scheduled for seeding to on pool", ((CustomThreadPoolExecutor) preloadExecutor).getCount() == 1);
}
Reusable Method for MCI (click to expand)
private static PrimaryDataStore createMockPrimaryDataStore(long idReturn) {
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
when(mockPrimaryDataStore.getId()).thenReturn(idReturn);
return mockPrimaryDataStore;
}
Test Case ID #cloudstack_Test_73_5
Test Case Name: testTemplateScheduledForDownloadInDisabledPool(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\template\TemplateManagerImplTest.java)
Mock Object Variable Name: mockPrimaryDataStore
Suggested Diff
@@
VMTemplateVO mockTemplate = mock(VMTemplateVO.class);
StoragePoolVO mockPool = mock(StoragePoolVO.class);
- PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
VMTemplateStoragePoolVO mockTemplateStore = mock(VMTemplateStoragePoolVO.class);
+ PrimaryDataStore mockPrimaryDataStore = createMockPrimaryDataStore(2l);
- when(mockPrimaryDataStore.getId()).thenReturn(2l);
when(mockPool.getId()).thenReturn(2l);
when(mockPool.getStatus()).thenReturn(StoragePoolStatus.Disabled);
when(mockPool.getDataCenterId()).thenReturn(1l);
when(mockTemplate.getId()).thenReturn(202l);
when(mockTemplateStore.getDownloadState()).thenReturn(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
when(vmTemplateDao.findById(anyLong())).thenReturn(mockTemplate);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
when(vmTemplateDao.findById(anyLong(), anyBoolean())).thenReturn(mockTemplate);
when(vmTemplatePoolDao.findByPoolTemplate(anyLong(), anyLong(), nullable(String.class))).thenReturn(mockTemplateStore);
when(primaryDataStoreDao.findById(anyLong())).thenReturn(mockPool);
doNothing().when(mockTemplateStore).setMarkedForGC(anyBoolean());
ExecutorService preloadExecutor = new CustomThreadPoolExecutor(8, 8, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(), new NamedThreadFactory("Template-Preloader"));
templateManager._preloadExecutor = preloadExecutor;
templateManager.prepareTemplate(202, 1, 2l);
assertTrue("Test template is not scheduled for seeding on disabled pool", ((CustomThreadPoolExecutor) preloadExecutor).getCount() == 0);
@@
Original Test Code (click to expand)
@Test
public void testTemplateScheduledForDownloadInDisabledPool() {
VMTemplateVO mockTemplate = mock(VMTemplateVO.class);
StoragePoolVO mockPool = mock(StoragePoolVO.class);
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
VMTemplateStoragePoolVO mockTemplateStore = mock(VMTemplateStoragePoolVO.class);
when(mockPrimaryDataStore.getId()).thenReturn(2l);
when(mockPool.getId()).thenReturn(2l);
when(mockPool.getStatus()).thenReturn(StoragePoolStatus.Disabled);
when(mockPool.getDataCenterId()).thenReturn(1l);
when(mockTemplate.getId()).thenReturn(202l);
when(mockTemplateStore.getDownloadState()).thenReturn(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
when(vmTemplateDao.findById(anyLong())).thenReturn(mockTemplate);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
when(vmTemplateDao.findById(anyLong(), anyBoolean())).thenReturn(mockTemplate);
when(vmTemplatePoolDao.findByPoolTemplate(anyLong(), anyLong(), nullable(String.class))).thenReturn(mockTemplateStore);
when(primaryDataStoreDao.findById(anyLong())).thenReturn(mockPool);
doNothing().when(mockTemplateStore).setMarkedForGC(anyBoolean());
ExecutorService preloadExecutor = new CustomThreadPoolExecutor(8, 8, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(), new NamedThreadFactory("Template-Preloader"));
templateManager._preloadExecutor = preloadExecutor;
templateManager.prepareTemplate(202, 1, 2l);
assertTrue("Test template is not scheduled for seeding on disabled pool", ((CustomThreadPoolExecutor) preloadExecutor).getCount() == 0);
}
Reusable Method for MCI (click to expand)
private static PrimaryDataStore createMockPrimaryDataStore(long idReturn) {
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
when(mockPrimaryDataStore.getId()).thenReturn(idReturn);
return mockPrimaryDataStore;
}
Test Case ID #cloudstack_Test_73_6
Test Case Name: testTemplateScheduledForDownloadInMultiplePool(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\template\TemplateManagerImplTest.java)
Mock Object Variable Name: mockPrimaryDataStore
Suggested Diff
@@
VMTemplateVO mockTemplate = mock(VMTemplateVO.class);
- PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
+ PrimaryDataStore mockPrimaryDataStore = createMockPrimaryDataStore(2l);
VMTemplateStoragePoolVO mockTemplateStore = mock(VMTemplateStoragePoolVO.class);
List<StoragePoolVO> pools = new ArrayList<StoragePoolVO>();
StoragePoolVO mockPool1 = mock(StoragePoolVO.class);
when(mockPool1.getId()).thenReturn(2l);
when(mockPool1.getStatus()).thenReturn(StoragePoolStatus.Up);
when(mockPool1.getDataCenterId()).thenReturn(1l);
StoragePoolVO mockPool2 = mock(StoragePoolVO.class);
when(mockPool2.getId()).thenReturn(3l);
when(mockPool2.getStatus()).thenReturn(StoragePoolStatus.Up);
when(mockPool2.getDataCenterId()).thenReturn(1l);
StoragePoolVO mockPool3 = mock(StoragePoolVO.class);
when(mockPool3.getId()).thenReturn(4l);
when(mockPool3.getStatus()).thenReturn(StoragePoolStatus.Up);
when(mockPool3.getDataCenterId()).thenReturn(2l);
pools.add(mockPool1);
pools.add(mockPool2);
pools.add(mockPool3);
- when(mockPrimaryDataStore.getId()).thenReturn(2l);
when(mockTemplate.getId()).thenReturn(202l);
when(mockTemplateStore.getDownloadState()).thenReturn(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
when(vmTemplateDao.findById(anyLong())).thenReturn(mockTemplate);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
when(vmTemplateDao.findById(anyLong(), anyBoolean())).thenReturn(mockTemplate);
when(vmTemplatePoolDao.findByPoolTemplate(anyLong(), anyLong(), nullable(String.class))).thenReturn(mockTemplateStore);
when(primaryDataStoreDao.findById(2l)).thenReturn(mockPool1);
when(primaryDataStoreDao.findById(3l)).thenReturn(mockPool2);
when(primaryDataStoreDao.findById(4l)).thenReturn(mockPool3);
when(primaryDataStoreDao.listByStatus(StoragePoolStatus.Up)).thenReturn(pools);
doNothing().when(mockTemplateStore).setMarkedForGC(anyBoolean());
ExecutorService preloadExecutor = new CustomThreadPoolExecutor(8, 8, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(), new NamedThreadFactory("Template-Preloader"));
templateManager._preloadExecutor = preloadExecutor;
templateManager.prepareTemplate(202, 1, null);
assertTrue("Test template is scheduled for seeding to on pool", ((CustomThreadPoolExecutor) preloadExecutor).getCount() == 2);
@@
Original Test Code (click to expand)
@Test
public void testTemplateScheduledForDownloadInMultiplePool() {
VMTemplateVO mockTemplate = mock(VMTemplateVO.class);
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
VMTemplateStoragePoolVO mockTemplateStore = mock(VMTemplateStoragePoolVO.class);
List<StoragePoolVO> pools = new ArrayList<StoragePoolVO>();
StoragePoolVO mockPool1 = mock(StoragePoolVO.class);
when(mockPool1.getId()).thenReturn(2l);
when(mockPool1.getStatus()).thenReturn(StoragePoolStatus.Up);
when(mockPool1.getDataCenterId()).thenReturn(1l);
StoragePoolVO mockPool2 = mock(StoragePoolVO.class);
when(mockPool2.getId()).thenReturn(3l);
when(mockPool2.getStatus()).thenReturn(StoragePoolStatus.Up);
when(mockPool2.getDataCenterId()).thenReturn(1l);
StoragePoolVO mockPool3 = mock(StoragePoolVO.class);
when(mockPool3.getId()).thenReturn(4l);
when(mockPool3.getStatus()).thenReturn(StoragePoolStatus.Up);
when(mockPool3.getDataCenterId()).thenReturn(2l);
pools.add(mockPool1);
pools.add(mockPool2);
pools.add(mockPool3);
when(mockPrimaryDataStore.getId()).thenReturn(2l);
when(mockTemplate.getId()).thenReturn(202l);
when(mockTemplateStore.getDownloadState()).thenReturn(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
when(vmTemplateDao.findById(anyLong())).thenReturn(mockTemplate);
when(dataStoreManager.getPrimaryDataStore(anyLong())).thenReturn(mockPrimaryDataStore);
when(vmTemplateDao.findById(anyLong(), anyBoolean())).thenReturn(mockTemplate);
when(vmTemplatePoolDao.findByPoolTemplate(anyLong(), anyLong(), nullable(String.class))).thenReturn(mockTemplateStore);
when(primaryDataStoreDao.findById(2l)).thenReturn(mockPool1);
when(primaryDataStoreDao.findById(3l)).thenReturn(mockPool2);
when(primaryDataStoreDao.findById(4l)).thenReturn(mockPool3);
when(primaryDataStoreDao.listByStatus(StoragePoolStatus.Up)).thenReturn(pools);
doNothing().when(mockTemplateStore).setMarkedForGC(anyBoolean());
ExecutorService preloadExecutor = new CustomThreadPoolExecutor(8, 8, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(), new NamedThreadFactory("Template-Preloader"));
templateManager._preloadExecutor = preloadExecutor;
templateManager.prepareTemplate(202, 1, null);
assertTrue("Test template is scheduled for seeding to on pool", ((CustomThreadPoolExecutor) preloadExecutor).getCount() == 2);
}
Reusable Method for MCI (click to expand)
private static PrimaryDataStore createMockPrimaryDataStore(long idReturn) {
PrimaryDataStore mockPrimaryDataStore = mock(PrimaryDataStore.class);
when(mockPrimaryDataStore.getId()).thenReturn(idReturn);
return mockPrimaryDataStore;
}
Mock Clone Instance #cloudstack_MCI_74
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.user.address.ListPublicIpAddressesCmd
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static ListPublicIpAddressesCmd createMockListPublicIpAddressesCmd(long networkId) {
ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
Mockito.when(cmd.getId()).thenReturn(null);
Mockito.when(cmd.getIpAddress()).thenReturn(null);
Mockito.when(cmd.getNetworkId()).thenReturn(networkId);
Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
Mockito.when(cmd.getTags()).thenReturn(null);
Mockito.when(cmd.getVlanId()).thenReturn(null);
Mockito.when(cmd.getZoneId()).thenReturn(null);
Mockito.when(cmd.isSourceNat()).thenReturn(null);
Mockito.when(cmd.isStaticNat()).thenReturn(null);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_74_1
Test Case Name: setParametersTestWhenStateIsFreeAndSystemVmPublicIsTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
Mockito.when(mockConfig.value()).thenReturn(Boolean.TRUE);
- ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
- Mockito.when(cmd.getNetworkId()).thenReturn(10L);
- Mockito.when(cmd.getZoneId()).thenReturn(null);
- Mockito.when(cmd.getIpAddress()).thenReturn(null);
- Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
- Mockito.when(cmd.getVlanId()).thenReturn(null);
- Mockito.when(cmd.getId()).thenReturn(null);
- Mockito.when(cmd.isSourceNat()).thenReturn(null);
- Mockito.when(cmd.isStaticNat()).thenReturn(null);
- Mockito.when(cmd.getState()).thenReturn(IpAddress.State.Free.name());
- Mockito.when(cmd.getTags()).thenReturn(null);
+ ListPublicIpAddressesCmd cmd = createMockListPublicIpAddressesCmd(10L);
+ Mockito.when(cmd.getState()).thenReturn(IpAddress.State.Free.name());
spy.setParameters(sc, cmd, VlanType.VirtualNetwork, Boolean.FALSE);
Mockito.verify(sc, Mockito.times(1)).setJoinParameters("vlanSearch", "vlanType", VlanType.VirtualNetwork);
Mockito.verify(sc, Mockito.times(1)).setParameters("display", false);
Mockito.verify(sc, Mockito.times(1)).setParameters("sourceNetworkId", 10L);
Mockito.verify(sc, Mockito.times(1)).setParameters("state", "Free");
Mockito.verify(sc, Mockito.times(1)).setParameters("forsystemvms", false);
@@
Original Test Code (click to expand)
@Test
public void setParametersTestWhenStateIsFreeAndSystemVmPublicIsTrue() throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException {
Mockito.when(mockConfig.value()).thenReturn(Boolean.TRUE);
ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
Mockito.when(cmd.getNetworkId()).thenReturn(10L);
Mockito.when(cmd.getZoneId()).thenReturn(null);
Mockito.when(cmd.getIpAddress()).thenReturn(null);
Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
Mockito.when(cmd.getVlanId()).thenReturn(null);
Mockito.when(cmd.getId()).thenReturn(null);
Mockito.when(cmd.isSourceNat()).thenReturn(null);
Mockito.when(cmd.isStaticNat()).thenReturn(null);
Mockito.when(cmd.getState()).thenReturn(IpAddress.State.Free.name());
Mockito.when(cmd.getTags()).thenReturn(null);
spy.setParameters(sc, cmd, VlanType.VirtualNetwork, Boolean.FALSE);
Mockito.verify(sc, Mockito.times(1)).setJoinParameters("vlanSearch", "vlanType", VlanType.VirtualNetwork);
Mockito.verify(sc, Mockito.times(1)).setParameters("display", false);
Mockito.verify(sc, Mockito.times(1)).setParameters("sourceNetworkId", 10L);
Mockito.verify(sc, Mockito.times(1)).setParameters("state", "Free");
Mockito.verify(sc, Mockito.times(1)).setParameters("forsystemvms", false);
}
Reusable Method for MCI (click to expand)
private static ListPublicIpAddressesCmd createMockListPublicIpAddressesCmd(long networkId) {
ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
Mockito.when(cmd.getId()).thenReturn(null);
Mockito.when(cmd.getIpAddress()).thenReturn(null);
Mockito.when(cmd.getNetworkId()).thenReturn(networkId);
Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
Mockito.when(cmd.getTags()).thenReturn(null);
Mockito.when(cmd.getVlanId()).thenReturn(null);
Mockito.when(cmd.getZoneId()).thenReturn(null);
Mockito.when(cmd.isSourceNat()).thenReturn(null);
Mockito.when(cmd.isStaticNat()).thenReturn(null);
return cmd;
}
Test Case ID #cloudstack_Test_74_2
Test Case Name: setParametersTestWhenStateIsFreeAndSystemVmPublicIsFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
Mockito.when(mockConfig.value()).thenReturn(Boolean.FALSE);
- ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
- Mockito.when(cmd.getNetworkId()).thenReturn(10L);
- Mockito.when(cmd.getZoneId()).thenReturn(null);
- Mockito.when(cmd.getIpAddress()).thenReturn(null);
- Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
- Mockito.when(cmd.getVlanId()).thenReturn(null);
- Mockito.when(cmd.getId()).thenReturn(null);
- Mockito.when(cmd.isSourceNat()).thenReturn(null);
- Mockito.when(cmd.isStaticNat()).thenReturn(null);
+ ListPublicIpAddressesCmd cmd = createMockListPublicIpAddressesCmd(10L);
Mockito.when(cmd.getState()).thenReturn(IpAddress.State.Free.name());
Mockito.when(cmd.getTags()).thenReturn(null);
spy.setParameters(sc, cmd, VlanType.VirtualNetwork, Boolean.FALSE);
Mockito.verify(sc, Mockito.times(1)).setJoinParameters("vlanSearch", "vlanType", VlanType.VirtualNetwork);
@@
Original Test Code (click to expand)
@Test
public void setParametersTestWhenStateIsFreeAndSystemVmPublicIsFalse() {
Mockito.when(mockConfig.value()).thenReturn(Boolean.FALSE);
ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
Mockito.when(cmd.getNetworkId()).thenReturn(10L);
Mockito.when(cmd.getZoneId()).thenReturn(null);
Mockito.when(cmd.getIpAddress()).thenReturn(null);
Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
Mockito.when(cmd.getVlanId()).thenReturn(null);
Mockito.when(cmd.getId()).thenReturn(null);
Mockito.when(cmd.isSourceNat()).thenReturn(null);
Mockito.when(cmd.isStaticNat()).thenReturn(null);
Mockito.when(cmd.getState()).thenReturn(IpAddress.State.Free.name());
Mockito.when(cmd.getTags()).thenReturn(null);
spy.setParameters(sc, cmd, VlanType.VirtualNetwork, Boolean.FALSE);
Mockito.verify(sc, Mockito.times(1)).setJoinParameters("vlanSearch", "vlanType", VlanType.VirtualNetwork);
Mockito.verify(sc, Mockito.times(1)).setParameters("display", false);
Mockito.verify(sc, Mockito.times(1)).setParameters("sourceNetworkId", 10L);
Mockito.verify(sc, Mockito.times(1)).setParameters("state", "Free");
Mockito.verify(sc, Mockito.never()).setParameters("forsystemvms", false);
}
Reusable Method for MCI (click to expand)
private static ListPublicIpAddressesCmd createMockListPublicIpAddressesCmd(long networkId) {
ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
Mockito.when(cmd.getId()).thenReturn(null);
Mockito.when(cmd.getIpAddress()).thenReturn(null);
Mockito.when(cmd.getNetworkId()).thenReturn(networkId);
Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
Mockito.when(cmd.getTags()).thenReturn(null);
Mockito.when(cmd.getVlanId()).thenReturn(null);
Mockito.when(cmd.getZoneId()).thenReturn(null);
Mockito.when(cmd.isSourceNat()).thenReturn(null);
Mockito.when(cmd.isStaticNat()).thenReturn(null);
return cmd;
}
Test Case ID #cloudstack_Test_74_3
Test Case Name: setParametersTestWhenStateIsNullAndSystemVmPublicIsFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
Mockito.when(mockConfig.value()).thenReturn(Boolean.FALSE);
- ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
- Mockito.when(cmd.getNetworkId()).thenReturn(10L);
- Mockito.when(cmd.getZoneId()).thenReturn(null);
- Mockito.when(cmd.getIpAddress()).thenReturn(null);
- Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
- Mockito.when(cmd.getVlanId()).thenReturn(null);
- Mockito.when(cmd.getId()).thenReturn(null);
- Mockito.when(cmd.isSourceNat()).thenReturn(null);
- Mockito.when(cmd.isStaticNat()).thenReturn(null);
- Mockito.when(cmd.getState()).thenReturn(null);
- Mockito.when(cmd.getTags()).thenReturn(null);
+ ListPublicIpAddressesCmd cmd = createMockListPublicIpAddressesCmd(10L);
+ Mockito.when(cmd.getState()).thenReturn(null);
spy.setParameters(sc, cmd, VlanType.VirtualNetwork, Boolean.TRUE);
Mockito.verify(sc, Mockito.times(1)).setJoinParameters("vlanSearch", "vlanType", VlanType.VirtualNetwork);
Mockito.verify(sc, Mockito.times(1)).setParameters("display", false);
Mockito.verify(sc, Mockito.times(1)).setParameters("sourceNetworkId", 10L);
Mockito.verify(sc, Mockito.never()).setParameters("forsystemvms", false);
@@
Original Test Code (click to expand)
@Test
public void setParametersTestWhenStateIsNullAndSystemVmPublicIsFalse() {
Mockito.when(mockConfig.value()).thenReturn(Boolean.FALSE);
ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
Mockito.when(cmd.getNetworkId()).thenReturn(10L);
Mockito.when(cmd.getZoneId()).thenReturn(null);
Mockito.when(cmd.getIpAddress()).thenReturn(null);
Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
Mockito.when(cmd.getVlanId()).thenReturn(null);
Mockito.when(cmd.getId()).thenReturn(null);
Mockito.when(cmd.isSourceNat()).thenReturn(null);
Mockito.when(cmd.isStaticNat()).thenReturn(null);
Mockito.when(cmd.getState()).thenReturn(null);
Mockito.when(cmd.getTags()).thenReturn(null);
spy.setParameters(sc, cmd, VlanType.VirtualNetwork, Boolean.TRUE);
Mockito.verify(sc, Mockito.times(1)).setJoinParameters("vlanSearch", "vlanType", VlanType.VirtualNetwork);
Mockito.verify(sc, Mockito.times(1)).setParameters("display", false);
Mockito.verify(sc, Mockito.times(1)).setParameters("sourceNetworkId", 10L);
Mockito.verify(sc, Mockito.never()).setParameters("forsystemvms", false);
}
Reusable Method for MCI (click to expand)
private static ListPublicIpAddressesCmd createMockListPublicIpAddressesCmd(long networkId) {
ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
Mockito.when(cmd.getId()).thenReturn(null);
Mockito.when(cmd.getIpAddress()).thenReturn(null);
Mockito.when(cmd.getNetworkId()).thenReturn(networkId);
Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
Mockito.when(cmd.getTags()).thenReturn(null);
Mockito.when(cmd.getVlanId()).thenReturn(null);
Mockito.when(cmd.getZoneId()).thenReturn(null);
Mockito.when(cmd.isSourceNat()).thenReturn(null);
Mockito.when(cmd.isStaticNat()).thenReturn(null);
return cmd;
}
Test Case ID #cloudstack_Test_74_4
Test Case Name: setParametersTestWhenStateIsNullAndSystemVmPublicIsTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
Mockito.when(mockConfig.value()).thenReturn(Boolean.TRUE);
- ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
- Mockito.when(cmd.getNetworkId()).thenReturn(10L);
- Mockito.when(cmd.getZoneId()).thenReturn(null);
- Mockito.when(cmd.getIpAddress()).thenReturn(null);
- Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
- Mockito.when(cmd.getVlanId()).thenReturn(null);
- Mockito.when(cmd.getId()).thenReturn(null);
- Mockito.when(cmd.isSourceNat()).thenReturn(null);
- Mockito.when(cmd.isStaticNat()).thenReturn(null);
- Mockito.when(cmd.getState()).thenReturn(null);
- Mockito.when(cmd.getTags()).thenReturn(null);
+ ListPublicIpAddressesCmd cmd = createMockListPublicIpAddressesCmd(10L);
+ Mockito.when(cmd.getState()).thenReturn(null);
spy.setParameters(sc, cmd, VlanType.VirtualNetwork, Boolean.TRUE);
Mockito.verify(sc, Mockito.times(1)).setJoinParameters("vlanSearch", "vlanType", VlanType.VirtualNetwork);
Mockito.verify(sc, Mockito.times(1)).setParameters("display", false);
Mockito.verify(sc, Mockito.times(1)).setParameters("sourceNetworkId", 10L);
Mockito.verify(sc, Mockito.never()).setParameters("forsystemvms", false);
@@
Original Test Code (click to expand)
@Test
public void setParametersTestWhenStateIsNullAndSystemVmPublicIsTrue() {
Mockito.when(mockConfig.value()).thenReturn(Boolean.TRUE);
ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
Mockito.when(cmd.getNetworkId()).thenReturn(10L);
Mockito.when(cmd.getZoneId()).thenReturn(null);
Mockito.when(cmd.getIpAddress()).thenReturn(null);
Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
Mockito.when(cmd.getVlanId()).thenReturn(null);
Mockito.when(cmd.getId()).thenReturn(null);
Mockito.when(cmd.isSourceNat()).thenReturn(null);
Mockito.when(cmd.isStaticNat()).thenReturn(null);
Mockito.when(cmd.getState()).thenReturn(null);
Mockito.when(cmd.getTags()).thenReturn(null);
spy.setParameters(sc, cmd, VlanType.VirtualNetwork, Boolean.TRUE);
Mockito.verify(sc, Mockito.times(1)).setJoinParameters("vlanSearch", "vlanType", VlanType.VirtualNetwork);
Mockito.verify(sc, Mockito.times(1)).setParameters("display", false);
Mockito.verify(sc, Mockito.times(1)).setParameters("sourceNetworkId", 10L);
Mockito.verify(sc, Mockito.never()).setParameters("forsystemvms", false);
}
Reusable Method for MCI (click to expand)
private static ListPublicIpAddressesCmd createMockListPublicIpAddressesCmd(long networkId) {
ListPublicIpAddressesCmd cmd = Mockito.mock(ListPublicIpAddressesCmd.class);
Mockito.when(cmd.getId()).thenReturn(null);
Mockito.when(cmd.getIpAddress()).thenReturn(null);
Mockito.when(cmd.getNetworkId()).thenReturn(networkId);
Mockito.when(cmd.getPhysicalNetworkId()).thenReturn(null);
Mockito.when(cmd.getTags()).thenReturn(null);
Mockito.when(cmd.getVlanId()).thenReturn(null);
Mockito.when(cmd.getZoneId()).thenReturn(null);
Mockito.when(cmd.isSourceNat()).thenReturn(null);
Mockito.when(cmd.isStaticNat()).thenReturn(null);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_75
- Scope: class level
- Mocked Class:
AffinityGroupVMMapDao
- Test Case Count: 6
- MO Count: 6
Reusable Method
public class MockAffinityGroupVMMapDao {
public static AffinityGroupVMMapDao createMockAffinityGroupVMMapDao(long vmId, List<AffinityGroupVMMapVO> vmGroupMappings, long affinityGroupId, List<Long> groupVMIds) {
AffinityGroupVMMapDao affinityGroupVMMapDao = Mockito.mock(AffinityGroupVMMapDao.class);
when(affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
when(affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
return affinityGroupVMMapDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_75_1
Test Case Name: testProcessWithEmptyPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: _affinityGroupVMMapDao
Suggested Diff
@@
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
- when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
+ _affinityGroupVMMapDao = MockAffinityGroupVMMapDao.createMockAffinityGroupVMMapDao(vmId, vmGroupMappings, affinityGroupId, groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
@@
Original Test Code (click to expand)
@Test
public void testProcessWithEmptyPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupVMMapDao {
public static AffinityGroupVMMapDao createMockAffinityGroupVMMapDao(long vmId, List<AffinityGroupVMMapVO> vmGroupMappings, long affinityGroupId, List<Long> groupVMIds) {
AffinityGroupVMMapDao affinityGroupVMMapDao = Mockito.mock(AffinityGroupVMMapDao.class);
when(affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
when(affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
return affinityGroupVMMapDao;
}
}
Test Case ID #cloudstack_Test_75_2
Test Case Name: testProcessWithPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: _affinityGroupVMMapDao
Suggested Diff
@@
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
- when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
+ _affinityGroupVMMapDao = MockAffinityGroupVMMapDao.createMockAffinityGroupVMMapDao(vmId, vmGroupMappings, affinityGroupId, groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
Original Test Code (click to expand)
@Test
public void testProcessWithPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.LOWER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupVMMapDao {
public static AffinityGroupVMMapDao createMockAffinityGroupVMMapDao(long vmId, List<AffinityGroupVMMapVO> vmGroupMappings, long affinityGroupId, List<Long> groupVMIds) {
AffinityGroupVMMapDao affinityGroupVMMapDao = Mockito.mock(AffinityGroupVMMapDao.class);
when(affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
when(affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
return affinityGroupVMMapDao;
}
}
Test Case ID #cloudstack_Test_75_3
Test Case Name: testProcessWithNotRunningVM(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: _affinityGroupVMMapDao
Suggested Diff
@@
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
- when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
- when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
+ _affinityGroupVMMapDao = MockAffinityGroupVMMapDao.createMockAffinityGroupVMMapDao(vmId, vmGroupMappings, affinityGroupId, groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithNotRunningVM() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupVMMapDao {
public static AffinityGroupVMMapDao createMockAffinityGroupVMMapDao(long vmId, List<AffinityGroupVMMapVO> vmGroupMappings, long affinityGroupId, List<Long> groupVMIds) {
AffinityGroupVMMapDao affinityGroupVMMapDao = Mockito.mock(AffinityGroupVMMapDao.class);
when(affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
when(affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
return affinityGroupVMMapDao;
}
}
Test Case ID #cloudstack_Test_75_4
Test Case Name: testProcessWithEmptyPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: _affinityGroupVMMapDao
Suggested Diff
@@
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
- when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
- when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
+ _affinityGroupVMMapDao = MockAffinityGroupVMMapDao.createMockAffinityGroupVMMapDao(vmId, vmGroupMappings, affinityGroupId, groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithEmptyPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupVMMapDao {
public static AffinityGroupVMMapDao createMockAffinityGroupVMMapDao(long vmId, List<AffinityGroupVMMapVO> vmGroupMappings, long affinityGroupId, List<Long> groupVMIds) {
AffinityGroupVMMapDao affinityGroupVMMapDao = Mockito.mock(AffinityGroupVMMapDao.class);
when(affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
when(affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
return affinityGroupVMMapDao;
}
}
Test Case ID #cloudstack_Test_75_5
Test Case Name: testProcessWithPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: _affinityGroupVMMapDao
Suggested Diff
@@
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
- when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.HIGHER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
- when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
+ _affinityGroupVMMapDao = MockAffinityGroupVMMapDao.createMockAffinityGroupVMMapDao(vmId, vmGroupMappings, affinityGroupId, groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Original Test Code (click to expand)
@Test
public void testProcessWithPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.HIGHER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupVMMapDao {
public static AffinityGroupVMMapDao createMockAffinityGroupVMMapDao(long vmId, List<AffinityGroupVMMapVO> vmGroupMappings, long affinityGroupId, List<Long> groupVMIds) {
AffinityGroupVMMapDao affinityGroupVMMapDao = Mockito.mock(AffinityGroupVMMapDao.class);
when(affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
when(affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
return affinityGroupVMMapDao;
}
}
Test Case ID #cloudstack_Test_75_6
Test Case Name: testProcessWithNotRunningVM(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: _affinityGroupVMMapDao
Suggested Diff
@@
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
- when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
- when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
+ _affinityGroupVMMapDao = MockAffinityGroupVMMapDao.createMockAffinityGroupVMMapDao(vmId, vmGroupMappings, affinityGroupId, groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithNotRunningVM() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupVMMapDao {
public static AffinityGroupVMMapDao createMockAffinityGroupVMMapDao(long vmId, List<AffinityGroupVMMapVO> vmGroupMappings, long affinityGroupId, List<Long> groupVMIds) {
AffinityGroupVMMapDao affinityGroupVMMapDao = Mockito.mock(AffinityGroupVMMapDao.class);
when(affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
when(affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
return affinityGroupVMMapDao;
}
}
Mock Clone Instance #cloudstack_MCI_76
- Scope: method level
- Mocked Class:
com.cloud.utils.ExecutionResult
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static ExecutionResult createMockExecutionResult(boolean isSuccessReturn) {
ExecutionResult executionResult = Mockito.mock(ExecutionResult.class);
when(executionResult.isSuccess()).thenReturn(isSuccessReturn);
return executionResult;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_76_1
Test Case Name: testNetworkUsageCommandCreateVpc(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer56WrapperTest.java)
Mock Object Variable Name: executionResult
Suggested Diff
@@
- final ExecutionResult executionResult = Mockito.mock(ExecutionResult.class);
+ final ExecutionResult executionResult = createMockExecutionResult(true);
final NetworkUsageCommand networkCommand = new NetworkUsageCommand("192.168.10.10", "domRName", true, "192.168.10.1", "10.1.1.1/24");
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
final String args = " -l 192.168.10.1 -c -v 10.1.1.1/24";
when(xenServer56Resource.executeInVR(networkCommand.getPrivateIP(), "vpc_netusage.sh", args)).thenReturn(executionResult);
- when(executionResult.isSuccess()).thenReturn(true);
final Answer answer = wrapper.execute(networkCommand, xenServer56Resource);
assertTrue(answer.getResult());
@@
Original Test Code (click to expand)
@Test
public void testNetworkUsageCommandCreateVpc() {
final ExecutionResult executionResult = Mockito.mock(ExecutionResult.class);
final NetworkUsageCommand networkCommand = new NetworkUsageCommand("192.168.10.10", "domRName", true, "192.168.10.1", "10.1.1.1/24");
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
final String args = " -l 192.168.10.1 -c -v 10.1.1.1/24";
when(xenServer56Resource.executeInVR(networkCommand.getPrivateIP(), "vpc_netusage.sh", args)).thenReturn(executionResult);
when(executionResult.isSuccess()).thenReturn(true);
final Answer answer = wrapper.execute(networkCommand, xenServer56Resource);
assertTrue(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static ExecutionResult createMockExecutionResult(boolean isSuccessReturn) {
ExecutionResult executionResult = Mockito.mock(ExecutionResult.class);
when(executionResult.isSuccess()).thenReturn(isSuccessReturn);
return executionResult;
}
Test Case ID #cloudstack_Test_76_2
Test Case Name: testNetworkUsageCommandCreateVpcFailure(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer56WrapperTest.java)
Mock Object Variable Name: executionResult
Suggested Diff
@@
@Test
public void testNetworkUsageCommandCreateVpcFailure() {
- final ExecutionResult executionResult = Mockito.mock(ExecutionResult.class);
final NetworkUsageCommand networkCommand = new NetworkUsageCommand("192.168.10.10", "domRName", true, "192.168.10.1", "10.1.1.1/24");
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
final String args = " -l 192.168.10.1 -c -v 10.1.1.1/24";
+ final ExecutionResult executionResult = createMockExecutionResult(false);
when(xenServer56Resource.executeInVR(networkCommand.getPrivateIP(), "vpc_netusage.sh", args)).thenReturn(executionResult);
- when(executionResult.isSuccess()).thenReturn(false);
final Answer answer = wrapper.execute(networkCommand, xenServer56Resource);
assertFalse(answer.getResult());
}
@@
Original Test Code (click to expand)
@Test
public void testNetworkUsageCommandCreateVpcFailure() {
final ExecutionResult executionResult = Mockito.mock(ExecutionResult.class);
final NetworkUsageCommand networkCommand = new NetworkUsageCommand("192.168.10.10", "domRName", true, "192.168.10.1", "10.1.1.1/24");
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
final String args = " -l 192.168.10.1 -c -v 10.1.1.1/24";
when(xenServer56Resource.executeInVR(networkCommand.getPrivateIP(), "vpc_netusage.sh", args)).thenReturn(executionResult);
when(executionResult.isSuccess()).thenReturn(false);
final Answer answer = wrapper.execute(networkCommand, xenServer56Resource);
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static ExecutionResult createMockExecutionResult(boolean isSuccessReturn) {
ExecutionResult executionResult = Mockito.mock(ExecutionResult.class);
when(executionResult.isSuccess()).thenReturn(isSuccessReturn);
return executionResult;
}
Mock Clone Instance #cloudstack_MCI_77
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.admin.zone.CreateZoneCmd
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static CreateZoneCmd createMockCreateZoneCmd(boolean isEdgeReturn, String networkTypeReturn) {
CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
Mockito.when(cmd.isEdge()).thenReturn(isEdgeReturn);
Mockito.when(cmd.getNetworkType()).thenReturn(networkTypeReturn);
Mockito.when(cmd.getDomainId()).thenReturn(null);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_77_1
Test Case Name: testCreateEdgeZone(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
@Test
public void testCreateEdgeZone() {
- CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
- Mockito.when(cmd.isEdge()).thenReturn(true);
- Mockito.when(cmd.getNetworkType()).thenReturn(NetworkType.Advanced.toString());
- Mockito.when(cmd.getDomainId()).thenReturn(null);
+ CreateZoneCmd cmd = createMockCreateZoneCmd(true, NetworkType.Advanced.toString());
mockPersistDatacenterForCreateZone();
DataCenter zone = configurationMgr.createZone(cmd);
Assert.assertNotNull(zone);
Assert.assertEquals(NetworkType.Advanced, zone.getNetworkType());
Assert.assertEquals(DataCenter.Type.Edge, zone.getType());
}
@@
Original Test Code (click to expand)
@Test
public void testCreateEdgeZone() {
CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
Mockito.when(cmd.isEdge()).thenReturn(true);
Mockito.when(cmd.getNetworkType()).thenReturn(NetworkType.Advanced.toString());
Mockito.when(cmd.getDomainId()).thenReturn(null);
mockPersistDatacenterForCreateZone();
DataCenter zone = configurationMgr.createZone(cmd);
Assert.assertNotNull(zone);
Assert.assertEquals(NetworkType.Advanced, zone.getNetworkType());
Assert.assertEquals(DataCenter.Type.Edge, zone.getType());
}
Reusable Method for MCI (click to expand)
private static CreateZoneCmd createMockCreateZoneCmd(boolean isEdgeReturn, String networkTypeReturn) {
CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
Mockito.when(cmd.isEdge()).thenReturn(isEdgeReturn);
Mockito.when(cmd.getNetworkType()).thenReturn(networkTypeReturn);
Mockito.when(cmd.getDomainId()).thenReturn(null);
return cmd;
}
Test Case ID #cloudstack_Test_77_2
Test Case Name: testCreateCoreZone(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
@Test
public void testCreateCoreZone() {
- CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
- Mockito.when(cmd.isEdge()).thenReturn(false);
- Mockito.when(cmd.getNetworkType()).thenReturn(NetworkType.Advanced.toString());
- Mockito.when(cmd.getDomainId()).thenReturn(null);
+ CreateZoneCmd cmd = createMockCreateZoneCmd(false, NetworkType.Advanced.toString());
mockPersistDatacenterForCreateZone();
DataCenter zone = configurationMgr.createZone(cmd);
Assert.assertNotNull(zone);
Assert.assertEquals(NetworkType.Advanced, zone.getNetworkType());
Assert.assertEquals(DataCenter.Type.Core, zone.getType());
}
@@
Original Test Code (click to expand)
@Test
public void testCreateCoreZone() {
CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
Mockito.when(cmd.isEdge()).thenReturn(false);
Mockito.when(cmd.getNetworkType()).thenReturn(NetworkType.Advanced.toString());
Mockito.when(cmd.getDomainId()).thenReturn(null);
mockPersistDatacenterForCreateZone();
DataCenter zone = configurationMgr.createZone(cmd);
Assert.assertNotNull(zone);
Assert.assertEquals(NetworkType.Advanced, zone.getNetworkType());
Assert.assertEquals(DataCenter.Type.Core, zone.getType());
}
Reusable Method for MCI (click to expand)
private static CreateZoneCmd createMockCreateZoneCmd(boolean isEdgeReturn, String networkTypeReturn) {
CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
Mockito.when(cmd.isEdge()).thenReturn(isEdgeReturn);
Mockito.when(cmd.getNetworkType()).thenReturn(networkTypeReturn);
Mockito.when(cmd.getDomainId()).thenReturn(null);
return cmd;
}
Test Case ID #cloudstack_Test_77_3
Test Case Name: testCreateBasicZone(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
@Test
public void testCreateBasicZone() {
- CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
- Mockito.when(cmd.isEdge()).thenReturn(false);
- Mockito.when(cmd.getNetworkType()).thenReturn(NetworkType.Basic.toString());
- Mockito.when(cmd.getDomainId()).thenReturn(null);
+ CreateZoneCmd cmd = createMockCreateZoneCmd(false, NetworkType.Basic.toString());
mockPersistDatacenterForCreateZone();
DataCenter zone = configurationMgr.createZone(cmd);
Assert.assertNotNull(zone);
Assert.assertEquals(NetworkType.Basic, zone.getNetworkType());
}
@@
Original Test Code (click to expand)
@Test
public void testCreateBasicZone() {
CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
Mockito.when(cmd.isEdge()).thenReturn(false);
Mockito.when(cmd.getNetworkType()).thenReturn(NetworkType.Basic.toString());
Mockito.when(cmd.getDomainId()).thenReturn(null);
mockPersistDatacenterForCreateZone();
DataCenter zone = configurationMgr.createZone(cmd);
Assert.assertNotNull(zone);
Assert.assertEquals(NetworkType.Basic, zone.getNetworkType());
}
Reusable Method for MCI (click to expand)
private static CreateZoneCmd createMockCreateZoneCmd(boolean isEdgeReturn, String networkTypeReturn) {
CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
Mockito.when(cmd.isEdge()).thenReturn(isEdgeReturn);
Mockito.when(cmd.getNetworkType()).thenReturn(networkTypeReturn);
Mockito.when(cmd.getDomainId()).thenReturn(null);
return cmd;
}
Test Case ID #cloudstack_Test_77_4
Test Case Name: testCreateBasicEdgeZoneFailure(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
@Test(expected = InvalidParameterValueException.class)
public void testCreateBasicEdgeZoneFailure() {
- CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
- Mockito.when(cmd.isEdge()).thenReturn(true);
- Mockito.when(cmd.getNetworkType()).thenReturn(NetworkType.Basic.toString());
- Mockito.when(cmd.getDomainId()).thenReturn(null);
+ CreateZoneCmd cmd = createMockCreateZoneCmd(true, NetworkType.Basic.toString());
configurationMgr.createZone(cmd);
}
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testCreateBasicEdgeZoneFailure() {
CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
Mockito.when(cmd.isEdge()).thenReturn(true);
Mockito.when(cmd.getNetworkType()).thenReturn(NetworkType.Basic.toString());
Mockito.when(cmd.getDomainId()).thenReturn(null);
configurationMgr.createZone(cmd);
}
Reusable Method for MCI (click to expand)
private static CreateZoneCmd createMockCreateZoneCmd(boolean isEdgeReturn, String networkTypeReturn) {
CreateZoneCmd cmd = Mockito.mock(CreateZoneCmd.class);
Mockito.when(cmd.isEdge()).thenReturn(isEdgeReturn);
Mockito.when(cmd.getNetworkType()).thenReturn(networkTypeReturn);
Mockito.when(cmd.getDomainId()).thenReturn(null);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_78
- Scope: method level
- Mocked Class:
com.cloud.vm.NicProfile
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static NicProfile createMockNicProfile(String macAddress, Nic.ReservationStrategy reservationStrategy) {
NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn(macAddress);
when(nic.getReservationStrategy()).thenReturn(reservationStrategy);
return nic;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_78_1
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
- final NicProfile nic = mock(NicProfile.class);
- when(nic.getMacAddress()).thenReturn("macaddress");
- when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
+ final NicProfile nic = createMockNicProfile("macaddress", ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
@@
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private static NicProfile createMockNicProfile(String macAddress, Nic.ReservationStrategy reservationStrategy) {
NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn(macAddress);
when(nic.getReservationStrategy()).thenReturn(reservationStrategy);
return nic;
}
Test Case ID #cloudstack_Test_78_2
Test Case Name: testReserveFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
- final NicProfile nic = mock(NicProfile.class);
- when(nic.getMacAddress()).thenReturn("macaddress");
- when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
+ final NicProfile nic = createMockNicProfile("macaddress", ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
@@
Original Test Code (click to expand)
@Test
public void testReserveFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private static NicProfile createMockNicProfile(String macAddress, Nic.ReservationStrategy reservationStrategy) {
NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn(macAddress);
when(nic.getReservationStrategy()).thenReturn(reservationStrategy);
return nic;
}
Test Case ID #cloudstack_Test_78_3
Test Case Name: testDeallocate(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
- final NicProfile nic = mock(NicProfile.class);
- when(nic.getMacAddress()).thenReturn("macaddress");
- when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
+ final NicProfile nic = createMockNicProfile("macaddress", ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
@@
Original Test Code (click to expand)
@Test
public void testDeallocate() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final DisassociateMacFromNetworkAnswer answer = mock(DisassociateMacFromNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.deallocate(network, nic, vmProfile);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private static NicProfile createMockNicProfile(String macAddress, Nic.ReservationStrategy reservationStrategy) {
NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn(macAddress);
when(nic.getReservationStrategy()).thenReturn(reservationStrategy);
return nic;
}
Test Case ID #cloudstack_Test_78_4
Test Case Name: testDeallocateFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
- final NicProfile nic = mock(NicProfile.class);
- when(nic.getMacAddress()).thenReturn("macaddress");
- when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
+ final NicProfile nic = createMockNicProfile("macaddress", ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
@@
Original Test Code (click to expand)
@Test
public void testDeallocateFail() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final DisassociateMacFromNetworkAnswer answer = mock(DisassociateMacFromNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.deallocate(network, nic, vmProfile);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private static NicProfile createMockNicProfile(String macAddress, Nic.ReservationStrategy reservationStrategy) {
NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn(macAddress);
when(nic.getReservationStrategy()).thenReturn(reservationStrategy);
return nic;
}
Mock Clone Instance #cloudstack_MCI_79
- Scope: method level
- Mocked Class:
com.cloud.vm.NicProfile
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static NicProfile createMockNicProfile(String ipv4Address) {
NicProfile nicProfile = mock(NicProfile.class);
when(nicProfile.getIPv4Address()).thenReturn(ipv4Address);
return nicProfile;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_79_1
Test Case Name: releasePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nicProfile
Suggested Diff
@@
Network network = mock(Network.class);
- NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
- when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
+ NicProfile nicProfile = createMockNicProfile("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
@@
Original Test Code (click to expand)
@Test
public void releasePublicNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
private static NicProfile createMockNicProfile(String ipv4Address) {
NicProfile nicProfile = mock(NicProfile.class);
when(nicProfile.getIPv4Address()).thenReturn(ipv4Address);
return nicProfile;
}
Test Case ID #cloudstack_Test_79_2
Test Case Name: releaseManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nicProfile
Suggested Diff
@@
Network network = mock(Network.class);
- NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
- when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
+ NicProfile nicProfile = createMockNicProfile("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
@@
Original Test Code (click to expand)
@Test
public void releaseManagementNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
private static NicProfile createMockNicProfile(String ipv4Address) {
NicProfile nicProfile = mock(NicProfile.class);
when(nicProfile.getIPv4Address()).thenReturn(ipv4Address);
return nicProfile;
}
Test Case ID #cloudstack_Test_79_3
Test Case Name: releaseWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nicProfile
Suggested Diff
@@
Network network = mock(Network.class);
- NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
- when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
+ NicProfile nicProfile = createMockNicProfile("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void releaseWithExceptionTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
}
Reusable Method for MCI (click to expand)
private static NicProfile createMockNicProfile(String ipv4Address) {
NicProfile nicProfile = mock(NicProfile.class);
when(nicProfile.getIPv4Address()).thenReturn(ipv4Address);
return nicProfile;
}
Mock Clone Instance #cloudstack_MCI_80
- Scope: method level
- Mocked Class:
com.cloud.vm.NicProfile
- Test Case Count: 3
- MO Count: 3
Reusable Method
private NicProfile nic;
@BeforeEach
public void setUp() {
nic = mock(NicProfile.class);
}
nic;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_80_1
Test Case Name: prepareMigrationTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void prepareMigrationTest() {
- NicProfile nic = mock(NicProfile.class);
+ // removed local mock; replaced with global field `nic`
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
DeployDestination dest = mock(DeployDestination.class);
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
- assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
+ assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
}
Original Test Code (click to expand)
@Test
public void prepareMigrationTest() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
DeployDestination dest = mock(DeployDestination.class);
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
}
Reusable Method for MCI (click to expand)
private NicProfile nic;
@BeforeEach
public void setUp() {
nic = mock(NicProfile.class);
}
nic;
Test Case ID #cloudstack_Test_80_2
Test Case Name: rollbackMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void rollbackMigration() {
- NicProfile nic = mock(NicProfile.class);
+ // removed local mock; replaced with global field `nic`
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- tungstenElement.rollbackMigration(nic, network, vm, src, dest);
+ tungstenElement.rollbackMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void rollbackMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.rollbackMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private NicProfile nic;
@BeforeEach
public void setUp() {
nic = mock(NicProfile.class);
}
nic;
Test Case ID #cloudstack_Test_80_3
Test Case Name: commitMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void commitMigration() {
- NicProfile nic = mock(NicProfile.class);
+ // removed local mock; replaced with global field `nic`
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- tungstenElement.commitMigration(nic, network, vm, src, dest);
+ tungstenElement.commitMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void commitMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.commitMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private NicProfile nic;
@BeforeEach
public void setUp() {
nic = mock(NicProfile.class);
}
nic;
Mock Clone Instance #cloudstack_MCI_81
- Scope: method level
- Mocked Class:
com.cloud.vm.NicProfile
- Test Case Count: 6
- MO Count: 6
Reusable Method
private NicProfile nicProfile;
@BeforeEach
public void setUp() {
nicProfile = mock(NicProfile.class);
}
nicProfile;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_81_1
Test Case Name: testDeallocate(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: nicProfile
Suggested Diff
@@
@Test
public void testDeallocate() {
final Network network = mock(Network.class);
- final NicProfile nicProfile = mock(NicProfile.class);
+ // removed local mock; replaced with global field `nicProfile`
final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
guru.deallocate(network, nicProfile, virtualMachineProfile);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testDeallocate() {
final Network network = mock(Network.class);
final NicProfile nicProfile = mock(NicProfile.class);
final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
guru.deallocate(network, nicProfile, virtualMachineProfile);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private NicProfile nicProfile;
@BeforeEach
public void setUp() {
nicProfile = mock(NicProfile.class);
}
nicProfile;
Test Case ID #cloudstack_Test_81_2
Test Case Name: testDeallocateWithException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: nicProfile
Suggested Diff
@@
@Test(expected = CloudRuntimeException.class)
public void testDeallocateWithException() {
final Network network = mock(Network.class);
- final NicProfile nicProfile = mock(NicProfile.class);
+ // removed local mock; replaced with global field `nicProfile`
final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(new IllegalArgumentException());
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
guru.deallocate(network, nicProfile, virtualMachineProfile);
}
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testDeallocateWithException() {
final Network network = mock(Network.class);
final NicProfile nicProfile = mock(NicProfile.class);
final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(new IllegalArgumentException());
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
guru.deallocate(network, nicProfile, virtualMachineProfile);
}
Reusable Method for MCI (click to expand)
private NicProfile nicProfile;
@BeforeEach
public void setUp() {
nicProfile = mock(NicProfile.class);
}
nicProfile;
Test Case ID #cloudstack_Test_81_3
Test Case Name: testRelease(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void testRelease() {
- final NicProfile nic = mock(NicProfile.class);
+ // removed local mock; replaced with global field `nicProfile`
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(hostDao.findById(anyLong())).thenReturn(host);
when(ipAddressDao.findByAssociatedVmId(anyLong())).thenReturn(ipAddressVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
- guru.release(nic, vm, "test");
+ guru.release(nicProfile, vm, "test");
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testRelease() {
final NicProfile nic = mock(NicProfile.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(hostDao.findById(anyLong())).thenReturn(host);
when(ipAddressDao.findByAssociatedVmId(anyLong())).thenReturn(ipAddressVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
guru.release(nic, vm, "test");
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private NicProfile nicProfile;
@BeforeEach
public void setUp() {
nicProfile = mock(NicProfile.class);
}
nicProfile;
Test Case ID #cloudstack_Test_81_4
Test Case Name: testPrepareMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void testPrepareMigration() {
- final NicProfile nic = mock(NicProfile.class);
+ // removed local mock; replaced with global field `nicProfile`
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
- guru.prepareMigration(nic, network, vm, dest, context);
+ guru.prepareMigration(nicProfile, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testPrepareMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private NicProfile nicProfile;
@BeforeEach
public void setUp() {
nicProfile = mock(NicProfile.class);
}
nicProfile;
Test Case ID #cloudstack_Test_81_5
Test Case Name: testRollbackMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void testRollbackMigration() {
- final NicProfile nic = mock(NicProfile.class);
+ // removed local mock; replaced with global field `nicProfile`
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- guru.rollbackMigration(nic, network, vmProfile, context, context);
+ guru.rollbackMigration(nicProfile, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testRollbackMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.rollbackMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private NicProfile nicProfile;
@BeforeEach
public void setUp() {
nicProfile = mock(NicProfile.class);
}
nicProfile;
Test Case ID #cloudstack_Test_81_6
Test Case Name: testCommitMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void testCommitMigration() {
- final NicProfile nic = mock(NicProfile.class);
+ // removed local mock; replaced with global field `nicProfile`
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
- guru.commitMigration(nic, network, vmProfile, context, context);
+ guru.commitMigration(nicProfile, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testCommitMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.commitMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private NicProfile nicProfile;
@BeforeEach
public void setUp() {
nicProfile = mock(NicProfile.class);
}
nicProfile;
Mock Clone Instance #cloudstack_MCI_82
- Scope: method level
- Mocked Class:
List<BrocadeVcsDeviceVO>
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static List<BrocadeVcsDeviceVO> createMockDevicesList() {
@SuppressWarnings("unchecked")
List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
return devices;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_82_1
Test Case Name: testImplementFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: devices
Suggested Diff
@@
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
- final List<BrocadeVcsDeviceVO> devices = mock(List.class);
- when(devices.isEmpty()).thenReturn(true);
+ final List<BrocadeVcsDeviceVO> devices = createMockDevicesList();
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
@@
Original Test Code (click to expand)
@Test
public void testImplementFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private static List<BrocadeVcsDeviceVO> createMockDevicesList() {
@SuppressWarnings("unchecked")
List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
return devices;
}
Test Case ID #cloudstack_Test_82_2
Test Case Name: testReserveFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: devices
Suggested Diff
@@
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
- final List<BrocadeVcsDeviceVO> devices = mock(List.class);
- when(devices.isEmpty()).thenReturn(true);
+ final List<BrocadeVcsDeviceVO> devices = createMockDevicesList();
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
@@
Original Test Code (click to expand)
@Test
public void testReserveFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private static List<BrocadeVcsDeviceVO> createMockDevicesList() {
@SuppressWarnings("unchecked")
List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
return devices;
}
Test Case ID #cloudstack_Test_82_3
Test Case Name: testDeallocateFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: devices
Suggested Diff
@@
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
- final List<BrocadeVcsDeviceVO> devices = mock(List.class);
- when(devices.isEmpty()).thenReturn(true);
+ final List<BrocadeVcsDeviceVO> devices = createMockDevicesList();
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final DisassociateMacFromNetworkAnswer answer = mock(DisassociateMacFromNetworkAnswer.class);
@@
Original Test Code (click to expand)
@Test
public void testDeallocateFail() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final DisassociateMacFromNetworkAnswer answer = mock(DisassociateMacFromNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.deallocate(network, nic, vmProfile);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private static List<BrocadeVcsDeviceVO> createMockDevicesList() {
@SuppressWarnings("unchecked")
List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
return devices;
}
Test Case ID #cloudstack_Test_82_4
Test Case Name: testTrashFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: devices
Suggested Diff
@@
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
- final List<BrocadeVcsDeviceVO> devices = mock(List.class);
- when(devices.isEmpty()).thenReturn(true);
+ final List<BrocadeVcsDeviceVO> devices = createMockDevicesList();
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final boolean result = guru.trash(network, offering);
@@
Original Test Code (click to expand)
@Test
public void testTrashFail() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsNetworkVlanMappingVO mapping = mock(BrocadeVcsNetworkVlanMappingVO.class);
when(mapping.getVlanId()).thenReturn(14);
when(vcsmapdao.findByNetworkId(anyLong())).thenReturn(mapping);
when(vcsmapdao.remove(anyLong())).thenReturn(true);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final boolean result = guru.trash(network, offering);
assertTrue(result == false);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private static List<BrocadeVcsDeviceVO> createMockDevicesList() {
@SuppressWarnings("unchecked")
List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
return devices;
}
Mock Clone Instance #cloudstack_MCI_83
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.TemplateInfo
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static TemplateInfo createMockTemplateInfo(String uuidReturn) {
TemplateInfo templateInfo = Mockito.mock(TemplateInfo.class);
Mockito.when(templateInfo.getUuid()).thenReturn(uuidReturn);
return templateInfo;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_83_1
Test Case Name: prepareTestGetTemplateUuid(File: C:\Java_projects\Apache\cloudstack\engine\storage\datamotion\src\test\java\org\apache\cloudstack\storage\motion\KvmNonManagedStorageSystemDataMotionTest.java)
Mock Object Variable Name: templateImage
Suggested Diff
@@
private String prepareTestGetTemplateUuid() {
- TemplateInfo templateImage = Mockito.mock(TemplateInfo.class);
String expectedTemplateUuid = "template uuid";
- Mockito.when(templateImage.getUuid()).thenReturn(expectedTemplateUuid);
+ TemplateInfo templateImage = createMockTemplateInfo(expectedTemplateUuid);
Mockito.doReturn(templateImage).when(templateDataFactory).getTemplate(0l, DataStoreRole.Image);
return expectedTemplateUuid;
}
Original Test Code (click to expand)
private String prepareTestGetTemplateUuid() {
TemplateInfo templateImage = Mockito.mock(TemplateInfo.class);
String expectedTemplateUuid = "template uuid";
Mockito.when(templateImage.getUuid()).thenReturn(expectedTemplateUuid);
Mockito.doReturn(templateImage).when(templateDataFactory).getTemplate(0l, DataStoreRole.Image);
return expectedTemplateUuid;
}
Reusable Method for MCI (click to expand)
private static TemplateInfo createMockTemplateInfo(String uuidReturn) {
TemplateInfo templateInfo = Mockito.mock(TemplateInfo.class);
Mockito.when(templateInfo.getUuid()).thenReturn(uuidReturn);
return templateInfo;
}
Test Case ID #cloudstack_Test_83_2
Mock Object Variable Name: sourceTemplateInfo
Suggested Diff
@@
Mockito.lenient().when(sourceTemplateDataStore.getName()).thenReturn("sourceTemplateName");
- TemplateInfo sourceTemplateInfo = Mockito.mock(TemplateInfo.class);
- Mockito.when(sourceTemplateInfo.getInstallPath()).thenReturn("installPath");
- Mockito.when(sourceTemplateInfo.getUuid()).thenReturn("uuid");
- Mockito.when(sourceTemplateInfo.getId()).thenReturn(0l);
- Mockito.when(sourceTemplateInfo.getUrl()).thenReturn("url");
- Mockito.when(sourceTemplateInfo.getDisplayText()).thenReturn("display text");
- Mockito.when(sourceTemplateInfo.getChecksum()).thenReturn("checksum");
- Mockito.when(sourceTemplateInfo.isRequiresHvm()).thenReturn(true);
- Mockito.when(sourceTemplateInfo.getAccountId()).thenReturn(0l);
- Mockito.when(sourceTemplateInfo.getUniqueName()).thenReturn("unique name");
- Mockito.when(sourceTemplateInfo.getFormat()).thenReturn(ImageFormat.QCOW2);
- Mockito.when(sourceTemplateInfo.getSize()).thenReturn(0l);
- Mockito.when(sourceTemplateInfo.getHypervisorType()).thenReturn(HypervisorType.KVM);
+ TemplateInfo sourceTemplateInfo = createMockTemplateInfo("uuid");
+ Mockito.when(sourceTemplateInfo.getInstallPath()).thenReturn("installPath");
+ Mockito.when(sourceTemplateInfo.getId()).thenReturn(0l);
+ Mockito.when(sourceTemplateInfo.getUrl()).thenReturn("url");
+ Mockito.when(sourceTemplateInfo.getDisplayText()).thenReturn("display text");
+ Mockito.when(sourceTemplateInfo.getChecksum()).thenReturn("checksum");
+ Mockito.when(sourceTemplateInfo.isRequiresHvm()).thenReturn(true);
+ Mockito.when(sourceTemplateInfo.getAccountId()).thenReturn(0l);
+ Mockito.when(sourceTemplateInfo.getUniqueName()).thenReturn("unique name");
+ Mockito.when(sourceTemplateInfo.getFormat()).thenReturn(ImageFormat.QCOW2);
+ Mockito.when(sourceTemplateInfo.getSize()).thenReturn(0l);
+ Mockito.when(sourceTemplateInfo.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(vmTemplatePoolDao.findByPoolTemplate(Mockito.anyLong(), Mockito.anyLong(), nullable(String.class))).thenReturn(vmTemplateStoragePoolVO);
@@
Original Test Code (click to expand)
private void configureAndTestcopyTemplateToTargetStorageIfNeeded(VMTemplateStoragePoolVO vmTemplateStoragePoolVO, StoragePoolType storagePoolType, int times) {
DataStore destDataStore = Mockito.mock(DataStore.class);
Host destHost = Mockito.mock(Host.class);
VolumeInfo srcVolumeInfo = Mockito.mock(VolumeInfo.class);
Mockito.when(srcVolumeInfo.getTemplateId()).thenReturn(0l);
Mockito.when(srcVolumeInfo.getVolumeType()).thenReturn(Volume.Type.ROOT);
StoragePool srcStoragePool = Mockito.mock(StoragePool.class);
VolumeInfo destVolumeInfo = Mockito.mock(VolumeInfo.class);
Mockito.lenient().when(volumeDataFactory.getVolume(Mockito.anyLong(), Mockito.any(DataStore.class))).thenReturn(destVolumeInfo);
StoragePool destStoragePool = Mockito.mock(StoragePool.class);
Mockito.when(destStoragePool.getId()).thenReturn(0l);
Mockito.when(destStoragePool.getPoolType()).thenReturn(storagePoolType);
DataStore sourceTemplateDataStore = Mockito.mock(DataStore.class);
Mockito.lenient().when(sourceTemplateDataStore.getName()).thenReturn("sourceTemplateName");
TemplateInfo sourceTemplateInfo = Mockito.mock(TemplateInfo.class);
Mockito.when(sourceTemplateInfo.getInstallPath()).thenReturn("installPath");
Mockito.when(sourceTemplateInfo.getUuid()).thenReturn("uuid");
Mockito.when(sourceTemplateInfo.getId()).thenReturn(0l);
Mockito.when(sourceTemplateInfo.getUrl()).thenReturn("url");
Mockito.when(sourceTemplateInfo.getDisplayText()).thenReturn("display text");
Mockito.when(sourceTemplateInfo.getChecksum()).thenReturn("checksum");
Mockito.when(sourceTemplateInfo.isRequiresHvm()).thenReturn(true);
Mockito.when(sourceTemplateInfo.getAccountId()).thenReturn(0l);
Mockito.when(sourceTemplateInfo.getUniqueName()).thenReturn("unique name");
Mockito.when(sourceTemplateInfo.getFormat()).thenReturn(ImageFormat.QCOW2);
Mockito.when(sourceTemplateInfo.getSize()).thenReturn(0l);
Mockito.when(sourceTemplateInfo.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(vmTemplatePoolDao.findByPoolTemplate(Mockito.anyLong(), Mockito.anyLong(), nullable(String.class))).thenReturn(vmTemplateStoragePoolVO);
Mockito.when(dataStoreManagerImpl.getRandomImageStore(Mockito.anyLong())).thenReturn(sourceTemplateDataStore);
Mockito.when(templateDataFactory.getTemplate(Mockito.anyLong(), Mockito.eq(sourceTemplateDataStore))).thenReturn(sourceTemplateInfo);
Mockito.when(templateDataFactory.getTemplate(Mockito.anyLong(), Mockito.eq(destDataStore))).thenReturn(sourceTemplateInfo);
kvmNonManagedStorageDataMotionStrategy.copyTemplateToTargetFilesystemStorageIfNeeded(srcVolumeInfo, srcStoragePool, destDataStore, destStoragePool, destHost);
Mockito.lenient().doNothing().when(kvmNonManagedStorageDataMotionStrategy).updateTemplateReferenceIfSuccessfulCopy(Mockito.anyLong(), Mockito.anyString(), Mockito.anyLong(), Mockito.anyLong());
InOrder verifyInOrder = Mockito.inOrder(vmTemplatePoolDao, dataStoreManagerImpl, templateDataFactory, kvmNonManagedStorageDataMotionStrategy);
verifyInOrder.verify(vmTemplatePoolDao, Mockito.times(1)).findByPoolTemplate(Mockito.anyLong(), Mockito.anyLong(), nullable(String.class));
verifyInOrder.verify(dataStoreManagerImpl, Mockito.times(times)).getRandomImageStore(Mockito.anyLong());
verifyInOrder.verify(templateDataFactory, Mockito.times(times)).getTemplate(Mockito.anyLong(), Mockito.eq(sourceTemplateDataStore));
verifyInOrder.verify(templateDataFactory, Mockito.times(times)).getTemplate(Mockito.anyLong(), Mockito.eq(destDataStore));
verifyInOrder.verify(kvmNonManagedStorageDataMotionStrategy, Mockito.times(times)).sendCopyCommand(Mockito.eq(destHost), Mockito.any(TemplateObjectTO.class), Mockito.any(TemplateObjectTO.class), Mockito.eq(destDataStore));
}
Reusable Method for MCI (click to expand)
private static TemplateInfo createMockTemplateInfo(String uuidReturn) {
TemplateInfo templateInfo = Mockito.mock(TemplateInfo.class);
Mockito.when(templateInfo.getUuid()).thenReturn(uuidReturn);
return templateInfo;
}
Mock Clone Instance #cloudstack_MCI_84
- Scope: class level
- Mocked Class:
TungstenService
- Test Case Count: 13
- MO Count: 13
Reusable Method
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_84_1
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricLogicalRouterCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listRoutingLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricLogicalRouterCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricLogicalRouterCmd.getResponseObject());
@@
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listRoutingLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricLogicalRouterCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricLogicalRouterCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_2
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricNetworkCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenNetwork(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyBoolean())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricNetworkCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricNetworkCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenNetwork(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyBoolean())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricNetworkCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricNetworkCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_3
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricNicCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenNic(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricNicCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricNicCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenNic(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricNicCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricNicCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_4
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricPolicyCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenPolicy(ArgumentMatchers.anyLong(), ArgumentMatchers.anyLong(), ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricPolicyCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricPolicyCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenPolicy(ArgumentMatchers.anyLong(), ArgumentMatchers.anyLong(), ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricPolicyCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricPolicyCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_5
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricPolicyRuleCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
- Mockito.when(tungstenService.listTungstenPolicyRule(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
+ Mockito.when(tungstenService.listTungstenPolicyRule(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricPolicyRuleCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricPolicyRuleCmd.getResponseObject());
}
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenPolicyRule(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricPolicyRuleCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricPolicyRuleCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_6
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricServiceGroupCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenServiceGroup(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricServiceGroupCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricServiceGroupCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenServiceGroup(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricServiceGroupCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricServiceGroupCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_7
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricTagCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenTags(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricTagCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricTagCmd.getResponseObject());
}
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenTags(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricTagCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricTagCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_8
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricTagTypeCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenTagTypes(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricTagTypeCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricTagTypeCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenTagTypes(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricTagTypeCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricTagTypeCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_9
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricVmCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenVm(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricVmCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricVmCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenVm(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricVmCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricVmCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_10
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricAddressGroupCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenAddressGroup(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricAddressGroupCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricAddressGroupCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenAddressGroup(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricAddressGroupCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricAddressGroupCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_11
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricApplictionPolicySetCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenApplicationPolicySet(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricApplictionPolicySetCmd.execute();
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenApplicationPolicySet(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricApplictionPolicySetCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricApplictionPolicySetCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_12
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricFirewallPolicyCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
- Mockito.when(tungstenService.listTungstenFirewallPolicy(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
+ Mockito.when(tungstenService.listTungstenFirewallPolicy(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricFirewallPolicyCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricFirewallPolicyCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenFirewallPolicy(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricFirewallPolicyCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricFirewallPolicyCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_84_13
Test Case Name: executeAllZoneTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\ListTungstenFabricFirewallRuleCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
- Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
+ tungstenService = MockTungstenService.createMockTungstenService(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenFirewallRule(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricFirewallRuleCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricFirewallRuleCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeAllZoneTest() throws Exception {
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
List<BaseResponse> baseResponseList = Arrays.asList(baseResponse);
ListResponse<BaseResponse> responseList = Mockito.mock(ListResponse.class);
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
List<TungstenProviderVO> tungstenProviderVOList = Arrays.asList(tungstenProviderVO);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
Mockito.when(tungstenService.listTungstenFirewallRule(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponseList);
PowerMockito.whenNew(ListResponse.class).withAnyArguments().thenReturn(responseList);
listTungstenFabricFirewallRuleCmd.execute();
Assert.assertEquals(responseList, listTungstenFabricFirewallRuleCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<TungstenProviderVO> tungstenProviderVOList) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.getTungstenProviders()).thenReturn(tungstenProviderVOList);
return tungstenService;
}
}
Mock Clone Instance #cloudstack_MCI_85
- Scope: class level
- Mocked Class:
TungstenService
- Test Case Count: 3
- MO Count: 3
Reusable Method
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<String> listConnectedNetworkReturn) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.listConnectedNetworkFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString()))
.thenReturn(listConnectedNetworkReturn);
return tungstenService;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_85_1
Test Case Name: executeTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\AddTungstenFabricNetworkGatewayToLogicalRouterCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
String network = "123";
List<String> networkList = List.of(network);
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
- Mockito.when(tungstenService.listConnectedNetworkFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(networkList);
- Mockito.when(tungstenService.addNetworkGatewayToLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponse);
+ tungstenService = MockTungstenService.createMockTungstenService(networkList);
+ Mockito.when(tungstenService.addNetworkGatewayToLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponse);
addTungstenFabricNetworkGatewayToLogicalRouterCmd.execute();
Assert.assertEquals(baseResponse, addTungstenFabricNetworkGatewayToLogicalRouterCmd.getResponseObject());
}
Original Test Code (click to expand)
@Test
public void executeTest() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException, NetworkRuleConflictException {
String network = "123";
List<String> networkList = List.of(network);
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
Mockito.when(tungstenService.listConnectedNetworkFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(networkList);
Mockito.when(tungstenService.addNetworkGatewayToLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponse);
addTungstenFabricNetworkGatewayToLogicalRouterCmd.execute();
Assert.assertEquals(baseResponse, addTungstenFabricNetworkGatewayToLogicalRouterCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<String> listConnectedNetworkReturn) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.listConnectedNetworkFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString()))
.thenReturn(listConnectedNetworkReturn);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_85_2
Test Case Name: executeTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\DeleteTungstenFabricLogicalRouterCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<String> networkList = new ArrayList<>();
- Mockito.when(tungstenService.listConnectedNetworkFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(networkList);
+ tungstenService = MockTungstenService.createMockTungstenService(networkList);
Mockito.when(tungstenService.deleteLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(true);
PowerMockito.whenNew(SuccessResponse.class).withAnyArguments().thenReturn(successResponse);
deleteTungstenFabricLogicalRouterCmd.execute();
Assert.assertEquals(successResponse, deleteTungstenFabricLogicalRouterCmd.getResponseObject());
}
Original Test Code (click to expand)
@Test
public void executeTest() throws Exception {
SuccessResponse successResponse = Mockito.mock(SuccessResponse.class);
List<String> networkList = new ArrayList<>();
Mockito.when(tungstenService.listConnectedNetworkFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(networkList);
Mockito.when(tungstenService.deleteLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(true);
PowerMockito.whenNew(SuccessResponse.class).withAnyArguments().thenReturn(successResponse);
deleteTungstenFabricLogicalRouterCmd.execute();
Assert.assertEquals(successResponse, deleteTungstenFabricLogicalRouterCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<String> listConnectedNetworkReturn) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.listConnectedNetworkFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString()))
.thenReturn(listConnectedNetworkReturn);
return tungstenService;
}
}
Test Case ID #cloudstack_Test_85_3
Test Case Name: executeTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\api\command\RemoveTungstenFabricNetworkGatewayFromLogicalRouterCmdTest.java)
Mock Object Variable Name: tungstenService
Suggested Diff
@@
List<String> networkList = Arrays.asList("test");
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
- Mockito.when(tungstenService.listConnectedNetworkFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(networkList);
- Mockito.when(tungstenService.removeNetworkGatewayFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponse);
+ tungstenService = MockTungstenService.createMockTungstenService(networkList);
+ Mockito.when(tungstenService.removeNetworkGatewayFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponse);
removeTungstenFabricNetworkGatewayFromLogicalRouterCmd.execute();
Assert.assertEquals(baseResponse, removeTungstenFabricNetworkGatewayFromLogicalRouterCmd.getResponseObject());
Original Test Code (click to expand)
@Test
public void executeTest() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException, NetworkRuleConflictException {
List<String> networkList = Arrays.asList("test");
BaseResponse baseResponse = Mockito.mock(BaseResponse.class);
Mockito.when(tungstenService.listConnectedNetworkFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())).thenReturn(networkList);
Mockito.when(tungstenService.removeNetworkGatewayFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString(), ArgumentMatchers.anyString())).thenReturn(baseResponse);
removeTungstenFabricNetworkGatewayFromLogicalRouterCmd.execute();
Assert.assertEquals(baseResponse, removeTungstenFabricNetworkGatewayFromLogicalRouterCmd.getResponseObject());
}
Reusable Method for MCI (click to expand)
public class MockTungstenService {
public static TungstenService createMockTungstenService(List<String> listConnectedNetworkReturn) {
TungstenService tungstenService = Mockito.mock(TungstenService.class);
Mockito.when(tungstenService.listConnectedNetworkFromLogicalRouter(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString()))
.thenReturn(listConnectedNetworkReturn);
return tungstenService;
}
}
Mock Clone Instance #cloudstack_MCI_86
- Scope: method level
- Mocked Class:
SearchCriteria<UserDataVO>
- Test Case Count: 3
- MO Count: 3
Reusable Method
private SearchCriteria<UserDataVO> sc;
@BeforeEach
public void setUp() {
sc = Mockito.mock(SearchCriteria.class);
}
sc;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_86_1
Test Case Name: testListUserDataById(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: sc
Suggested Diff
@@
when(sb.entity()).thenReturn(userData);
- SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
+ // removed local mock; replaced with global field `sc`
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
Original Test Code (click to expand)
@Test
public void testListUserDataById() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getId()).thenReturn(1L);
when(cmd.isRecursive()).thenReturn(false);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(_userDataDao.createSearchBuilder()).thenReturn(sb);
when(sb.entity()).thenReturn(userData);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
userDataList.add(userData);
Pair<List<UserDataVO>, Integer> result = new Pair(userDataList, 1);
when(_userDataDao.searchAndCount(nullable(SearchCriteria.class), nullable(Filter.class))).thenReturn(result);
Pair<List<? extends UserData>, Integer> userdataResultList = spy.listUserDatas(cmd);
Assert.assertEquals(userdataResultList.first().get(0), userDataList.get(0));
}
Reusable Method for MCI (click to expand)
private SearchCriteria<UserDataVO> sc;
@BeforeEach
public void setUp() {
sc = Mockito.mock(SearchCriteria.class);
}
sc;
Test Case ID #cloudstack_Test_86_2
Test Case Name: testListUserDataByName(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: sc
Suggested Diff
@@
when(sb.entity()).thenReturn(userData);
- SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
+ // removed local mock; replaced with global field `sc`
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
Original Test Code (click to expand)
@Test
public void testListUserDataByName() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getName()).thenReturn("testSearchUserdataName");
when(cmd.isRecursive()).thenReturn(false);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(_userDataDao.createSearchBuilder()).thenReturn(sb);
when(sb.entity()).thenReturn(userData);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
userDataList.add(userData);
Pair<List<UserDataVO>, Integer> result = new Pair(userDataList, 1);
when(_userDataDao.searchAndCount(nullable(SearchCriteria.class), nullable(Filter.class))).thenReturn(result);
Pair<List<? extends UserData>, Integer> userdataResultList = spy.listUserDatas(cmd);
Assert.assertEquals(userdataResultList.first().get(0), userDataList.get(0));
}
Reusable Method for MCI (click to expand)
private SearchCriteria<UserDataVO> sc;
@BeforeEach
public void setUp() {
sc = Mockito.mock(SearchCriteria.class);
}
sc;
Test Case ID #cloudstack_Test_86_3
Test Case Name: testListUserDataByKeyword(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: sc
Suggested Diff
@@
when(sb.entity()).thenReturn(userData);
- SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
+ // removed local mock; replaced with global field `sc`
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
Original Test Code (click to expand)
@Test
public void testListUserDataByKeyword() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getKeyword()).thenReturn("testSearchUserdataKeyword");
when(cmd.isRecursive()).thenReturn(false);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(_userDataDao.createSearchBuilder()).thenReturn(sb);
when(sb.entity()).thenReturn(userData);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
userDataList.add(userData);
Pair<List<UserDataVO>, Integer> result = new Pair(userDataList, 1);
when(_userDataDao.searchAndCount(nullable(SearchCriteria.class), nullable(Filter.class))).thenReturn(result);
Pair<List<? extends UserData>, Integer> userdataResultList = spy.listUserDatas(cmd);
Assert.assertEquals(userdataResultList.first().get(0), userDataList.get(0));
}
Reusable Method for MCI (click to expand)
private SearchCriteria<UserDataVO> sc;
@BeforeEach
public void setUp() {
sc = Mockito.mock(SearchCriteria.class);
}
sc;
Mock Clone Instance #cloudstack_MCI_87
- Scope: method level
- Mocked Class:
org.apache.http.client.HttpClient
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static HttpClient createMockHttpClient(String executeReturn) throws IOException {
HttpClient client = mock(HttpClient.class);
when(client.execute(any(HttpUriRequest.class), any(BasicResponseHandler.class))).thenReturn(executeReturn);
return client;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_87_1
Test Case Name: loginTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\stratosphere-ssp\src\test\java\org\apache\cloudstack\network\element\SspClientTest.java)
Mock Object Variable Name: client
Suggested Diff
@@
SspClient sspClient = spy(new SspClient(apiUrl, username, password));
- HttpClient client = mock(HttpClient.class);
- doReturn(client).when(sspClient).getHttpClient();
- when(client.execute(any(HttpUriRequest.class), any(BasicResponseHandler.class))).thenReturn("");
+ HttpClient client = createMockHttpClient("");
+ doReturn(client).when(sspClient).getHttpClient();
assertTrue(sspClient.login());
assertTrue(sspClient.login());
assertTrue(sspClient.login());
@@
Original Test Code (click to expand)
@Test
public void loginTest() throws Exception {
SspClient sspClient = spy(new SspClient(apiUrl, username, password));
HttpClient client = mock(HttpClient.class);
doReturn(client).when(sspClient).getHttpClient();
when(client.execute(any(HttpUriRequest.class), any(BasicResponseHandler.class))).thenReturn("");
assertTrue(sspClient.login());
assertTrue(sspClient.login());
assertTrue(sspClient.login());
}
Reusable Method for MCI (click to expand)
private static HttpClient createMockHttpClient(String executeReturn) throws IOException {
HttpClient client = mock(HttpClient.class);
when(client.execute(any(HttpUriRequest.class), any(BasicResponseHandler.class))).thenReturn(executeReturn);
return client;
}
Test Case ID #cloudstack_Test_87_2
Test Case Name: createNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\stratosphere-ssp\src\test\java\org\apache\cloudstack\network\element\SspClientTest.java)
Mock Object Variable Name: client
Suggested Diff
@@
String networkName = "example network 1";
String tenant_net_uuid = UUID.randomUUID().toString();
SspClient sspClient = spy(new SspClient(apiUrl, username, password));
- HttpClient client = mock(HttpClient.class);
+ HttpClient client = createMockHttpClient("{\"uuid\":\"" + tenant_net_uuid + "\",\"name\":\"" + networkName + "\",\"tenant_uuid\":\"" + uuid + "\"}");
doReturn(client).when(sspClient).getHttpClient();
- String body = "{\"uuid\":\"" + tenant_net_uuid + "\",\"name\":\"" + networkName + "\",\"tenant_uuid\":\"" + uuid + "\"}";
- when(client.execute(any(HttpUriRequest.class), any(BasicResponseHandler.class))).thenReturn(body);
SspClient.TenantNetwork tnet = sspClient.createTenantNetwork(uuid, networkName);
assertEquals(tnet.name, networkName);
assertEquals(tnet.uuid, tenant_net_uuid);
assertEquals(tnet.tenantUuid, uuid);
@@
Original Test Code (click to expand)
@Test
public void createNetworkTest() throws Exception {
String networkName = "example network 1";
String tenant_net_uuid = UUID.randomUUID().toString();
SspClient sspClient = spy(new SspClient(apiUrl, username, password));
HttpClient client = mock(HttpClient.class);
doReturn(client).when(sspClient).getHttpClient();
String body = "{\"uuid\":\"" + tenant_net_uuid + "\",\"name\":\"" + networkName + "\",\"tenant_uuid\":\"" + uuid + "\"}";
when(client.execute(any(HttpUriRequest.class), any(BasicResponseHandler.class))).thenReturn(body);
SspClient.TenantNetwork tnet = sspClient.createTenantNetwork(uuid, networkName);
assertEquals(tnet.name, networkName);
assertEquals(tnet.uuid, tenant_net_uuid);
assertEquals(tnet.tenantUuid, uuid);
}
Reusable Method for MCI (click to expand)
private static HttpClient createMockHttpClient(String executeReturn) throws IOException {
HttpClient client = mock(HttpClient.class);
when(client.execute(any(HttpUriRequest.class), any(BasicResponseHandler.class))).thenReturn(executeReturn);
return client;
}
Test Case ID #cloudstack_Test_87_3
Test Case Name: deleteNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\stratosphere-ssp\src\test\java\org\apache\cloudstack\network\element\SspClientTest.java)
Mock Object Variable Name: client
Suggested Diff
@@
SspClient sspClient = spy(new SspClient(apiUrl, username, password));
- HttpClient client = mock(HttpClient.class);
- doReturn(client).when(sspClient).getHttpClient();
- when(client.execute(any(HttpUriRequest.class), any(BasicResponseHandler.class))).thenReturn("");
+ HttpClient client = createMockHttpClient("");
+ doReturn(client).when(sspClient).getHttpClient();
sspClient.deleteTenantNetwork(tenant_net_uuid);
@@
Original Test Code (click to expand)
@Test
public void deleteNetworkTest() throws Exception {
String tenant_net_uuid = UUID.randomUUID().toString();
SspClient sspClient = spy(new SspClient(apiUrl, username, password));
HttpClient client = mock(HttpClient.class);
doReturn(client).when(sspClient).getHttpClient();
when(client.execute(any(HttpUriRequest.class), any(BasicResponseHandler.class))).thenReturn("");
sspClient.deleteTenantNetwork(tenant_net_uuid);
}
Reusable Method for MCI (click to expand)
private static HttpClient createMockHttpClient(String executeReturn) throws IOException {
HttpClient client = mock(HttpClient.class);
when(client.execute(any(HttpUriRequest.class), any(BasicResponseHandler.class))).thenReturn(executeReturn);
return client;
}
Mock Clone Instance #cloudstack_MCI_88
- Scope: method level
- Mocked Class:
com.cloud.user.User
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static User createMockUserWithId(long id) {
User userMock = Mockito.mock(User.class);
Mockito.doReturn(id).when(userMock).getId();
return userMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_88_1
Test Case Name: validateAndUpdatApiAndSecretKeyIfNeededTestApiKeyAlreadyUsedBySomeoneElse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: otherUserMock
Suggested Diff
@@
Mockito.doReturn(1L).when(userVoMock).getId();
- User otherUserMock = Mockito.mock(User.class);
- Mockito.doReturn(2L).when(otherUserMock).getId();
+ User otherUserMock = createMockUserWithId(2L);
Pair<User, Account> pairUserAccountMock = new Pair<User, Account>(otherUserMock, Mockito.mock(Account.class));
Mockito.doReturn(pairUserAccountMock).when(_accountDao).findUserAccountByApiKey(apiKey);
accountManagerImpl.validateAndUpdateApiAndSecretKeyIfNeeded(UpdateUserCmdMock, userVoMock);
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void validateAndUpdatApiAndSecretKeyIfNeededTestApiKeyAlreadyUsedBySomeoneElse() {
String apiKey = "apiKey";
Mockito.doReturn(apiKey).when(UpdateUserCmdMock).getApiKey();
Mockito.doReturn("secretKey").when(UpdateUserCmdMock).getSecretKey();
Mockito.doReturn(1L).when(userVoMock).getId();
User otherUserMock = Mockito.mock(User.class);
Mockito.doReturn(2L).when(otherUserMock).getId();
Pair<User, Account> pairUserAccountMock = new Pair<User, Account>(otherUserMock, Mockito.mock(Account.class));
Mockito.doReturn(pairUserAccountMock).when(_accountDao).findUserAccountByApiKey(apiKey);
accountManagerImpl.validateAndUpdateApiAndSecretKeyIfNeeded(UpdateUserCmdMock, userVoMock);
}
Reusable Method for MCI (click to expand)
private static User createMockUserWithId(long id) {
User userMock = Mockito.mock(User.class);
Mockito.doReturn(id).when(userMock).getId();
return userMock;
}
Test Case ID #cloudstack_Test_88_2
Test Case Name: validateAndUpdatApiAndSecretKeyIfNeededTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: otherUserMock
Suggested Diff
@@
Mockito.doReturn(1L).when(userVoMock).getId();
- User otherUserMock = Mockito.mock(User.class);
- Mockito.doReturn(1L).when(otherUserMock).getId();
+ User otherUserMock = createMockUserWithId(1L);
Pair<User, Account> pairUserAccountMock = new Pair<User, Account>(otherUserMock, Mockito.mock(Account.class));
Mockito.doReturn(pairUserAccountMock).when(_accountDao).findUserAccountByApiKey(apiKey);
@@
Original Test Code (click to expand)
@Test
public void validateAndUpdatApiAndSecretKeyIfNeededTest() {
String apiKey = "apiKey";
Mockito.doReturn(apiKey).when(UpdateUserCmdMock).getApiKey();
String secretKey = "secretKey";
Mockito.doReturn(secretKey).when(UpdateUserCmdMock).getSecretKey();
Mockito.doReturn(1L).when(userVoMock).getId();
User otherUserMock = Mockito.mock(User.class);
Mockito.doReturn(1L).when(otherUserMock).getId();
Pair<User, Account> pairUserAccountMock = new Pair<User, Account>(otherUserMock, Mockito.mock(Account.class));
Mockito.doReturn(pairUserAccountMock).when(_accountDao).findUserAccountByApiKey(apiKey);
accountManagerImpl.validateAndUpdateApiAndSecretKeyIfNeeded(UpdateUserCmdMock, userVoMock);
Mockito.verify(_accountDao).findUserAccountByApiKey(apiKey);
Mockito.verify(userVoMock).setApiKey(apiKey);
Mockito.verify(userVoMock).setSecretKey(secretKey);
}
Reusable Method for MCI (click to expand)
private static User createMockUserWithId(long id) {
User userMock = Mockito.mock(User.class);
Mockito.doReturn(id).when(userMock).getId();
return userMock;
}
Mock Clone Instance #cloudstack_MCI_89
- Scope: method level
- Mocked Class:
ArrayList<DomainVO>
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static ArrayList<DomainVO> createMockArrayListDomainVO(boolean isEmptyReturn) {
ArrayList<DomainVO> listMock = Mockito.mock(ArrayList.class);
Mockito.doReturn(isEmptyReturn).when(listMock).isEmpty();
return listMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_89_1
Test Case Name: validateUniqueDomainNameTestExistingNameThrowsException(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\DomainManagerImplTest.java)
Mock Object Variable Name: listMock
Suggested Diff
@@
SearchCriteria scMock = Mockito.mock(SearchCriteria.class);
- ArrayList<DomainVO> listMock = Mockito.mock(ArrayList.class);
+ ArrayList<DomainVO> listMock = createMockArrayListDomainVO(false);
Mockito.doReturn(scMock).when(domainDaoMock).createSearchCriteria();
Mockito.doReturn(listMock).when(domainDaoMock).search(Mockito.any(SearchCriteria.class), Mockito.any());
- Mockito.doReturn(false).when(listMock).isEmpty();
domainManager.validateUniqueDomainName("test", 1L);
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void validateUniqueDomainNameTestExistingNameThrowsException() {
SearchCriteria scMock = Mockito.mock(SearchCriteria.class);
ArrayList<DomainVO> listMock = Mockito.mock(ArrayList.class);
Mockito.doReturn(scMock).when(domainDaoMock).createSearchCriteria();
Mockito.doReturn(listMock).when(domainDaoMock).search(Mockito.any(SearchCriteria.class), Mockito.any());
Mockito.doReturn(false).when(listMock).isEmpty();
domainManager.validateUniqueDomainName("test", 1L);
}
Reusable Method for MCI (click to expand)
private static ArrayList<DomainVO> createMockArrayListDomainVO(boolean isEmptyReturn) {
ArrayList<DomainVO> listMock = Mockito.mock(ArrayList.class);
Mockito.doReturn(isEmptyReturn).when(listMock).isEmpty();
return listMock;
}
Test Case ID #cloudstack_Test_89_2
Test Case Name: validateUniqueDomainNameTestUniqueNameDoesNotThrowException(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\DomainManagerImplTest.java)
Mock Object Variable Name: listMock
Suggested Diff
@@
SearchCriteria scMock = Mockito.mock(SearchCriteria.class);
- ArrayList<DomainVO> listMock = Mockito.mock(ArrayList.class);
+ ArrayList<DomainVO> listMock = createMockArrayListDomainVO(true);
Mockito.doReturn(scMock).when(domainDaoMock).createSearchCriteria();
- Mockito.doReturn(listMock).when(domainDaoMock).search(Mockito.any(SearchCriteria.class), Mockito.any());
- Mockito.doReturn(true).when(listMock).isEmpty();
+ Mockito.doReturn(listMock).when(domainDaoMock).search(Mockito.any(SearchCriteria.class), Mockito.any());
domainManager.validateUniqueDomainName("testUnique", 1L);
Mockito.verify(domainDaoMock).createSearchCriteria();
Mockito.verify(scMock).addAnd("name", SearchCriteria.Op.EQ, "testUnique");
Mockito.verify(scMock).addAnd("parent", SearchCriteria.Op.EQ, 1L);
Mockito.verify(domainDaoMock).search(scMock, null);
Mockito.verify(listMock).isEmpty();
@@
Original Test Code (click to expand)
@Test
public void validateUniqueDomainNameTestUniqueNameDoesNotThrowException() {
SearchCriteria scMock = Mockito.mock(SearchCriteria.class);
ArrayList<DomainVO> listMock = Mockito.mock(ArrayList.class);
Mockito.doReturn(scMock).when(domainDaoMock).createSearchCriteria();
Mockito.doReturn(listMock).when(domainDaoMock).search(Mockito.any(SearchCriteria.class), Mockito.any());
Mockito.doReturn(true).when(listMock).isEmpty();
domainManager.validateUniqueDomainName("testUnique", 1L);
Mockito.verify(domainDaoMock).createSearchCriteria();
Mockito.verify(scMock).addAnd("name", SearchCriteria.Op.EQ, "testUnique");
Mockito.verify(scMock).addAnd("parent", SearchCriteria.Op.EQ, 1L);
Mockito.verify(domainDaoMock).search(scMock, null);
Mockito.verify(listMock).isEmpty();
}
Reusable Method for MCI (click to expand)
private static ArrayList<DomainVO> createMockArrayListDomainVO(boolean isEmptyReturn) {
ArrayList<DomainVO> listMock = Mockito.mock(ArrayList.class);
Mockito.doReturn(isEmptyReturn).when(listMock).isEmpty();
return listMock;
}
Mock Clone Instance #cloudstack_MCI_90
- Scope: method level
- Mocked Class:
com.cloud.network.NetworkService
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static NetworkService createMockNetworkService(boolean releaseSecondaryIpReturn) {
NetworkService networkService = Mockito.mock(NetworkService.class);
Mockito.when(networkService.releaseSecondaryIpFromNic(Matchers.anyInt())).thenReturn(releaseSecondaryIpReturn);
return networkService;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_90_1
Test Case Name: testRemoveIpFromVmNicSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\AddIpToVmNicTest.java)
Mock Object Variable Name: networkService
Suggested Diff
@@
@Test
public void testRemoveIpFromVmNicSuccess() throws ResourceAllocationException, ResourceUnavailableException, ConcurrentOperationException, InsufficientCapacityException {
- NetworkService networkService = Mockito.mock(NetworkService.class);
RemoveIpFromVmNicCmd removeIpFromNic = Mockito.mock(RemoveIpFromVmNicCmd.class);
- Mockito.when(networkService.releaseSecondaryIpFromNic(Matchers.anyInt())).thenReturn(true);
+ NetworkService networkService = createMockNetworkService(true);
removeIpFromNic._networkService = networkService;
removeIpFromNic.execute();
}
@@
Original Test Code (click to expand)
@Test
public void testRemoveIpFromVmNicSuccess() throws ResourceAllocationException, ResourceUnavailableException, ConcurrentOperationException, InsufficientCapacityException {
NetworkService networkService = Mockito.mock(NetworkService.class);
RemoveIpFromVmNicCmd removeIpFromNic = Mockito.mock(RemoveIpFromVmNicCmd.class);
Mockito.when(networkService.releaseSecondaryIpFromNic(Matchers.anyInt())).thenReturn(true);
removeIpFromNic._networkService = networkService;
removeIpFromNic.execute();
}
Reusable Method for MCI (click to expand)
private static NetworkService createMockNetworkService(boolean releaseSecondaryIpReturn) {
NetworkService networkService = Mockito.mock(NetworkService.class);
Mockito.when(networkService.releaseSecondaryIpFromNic(Matchers.anyInt())).thenReturn(releaseSecondaryIpReturn);
return networkService;
}
Test Case ID #cloudstack_Test_90_2
Test Case Name: testRemoveIpFromVmNicFailure(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\AddIpToVmNicTest.java)
Mock Object Variable Name: networkService
Suggested Diff
@@
@Test
public void testRemoveIpFromVmNicFailure() throws InsufficientAddressCapacityException {
- NetworkService networkService = Mockito.mock(NetworkService.class);
RemoveIpFromVmNicCmd removeIpFromNic = Mockito.mock(RemoveIpFromVmNicCmd.class);
- Mockito.when(networkService.releaseSecondaryIpFromNic(Matchers.anyInt())).thenReturn(false);
+ NetworkService networkService = createMockNetworkService(false);
removeIpFromNic._networkService = networkService;
successResponseGenerator = Mockito.mock(SuccessResponse.class);
try {
removeIpFromNic.execute();
} catch (InvalidParameterValueException exception) {
Assert.assertEquals("Failed to remove secondary ip address for the nic", exception.getLocalizedMessage());
}
}
@@
Original Test Code (click to expand)
@Test
public void testRemoveIpFromVmNicFailure() throws InsufficientAddressCapacityException {
NetworkService networkService = Mockito.mock(NetworkService.class);
RemoveIpFromVmNicCmd removeIpFromNic = Mockito.mock(RemoveIpFromVmNicCmd.class);
Mockito.when(networkService.releaseSecondaryIpFromNic(Matchers.anyInt())).thenReturn(false);
removeIpFromNic._networkService = networkService;
successResponseGenerator = Mockito.mock(SuccessResponse.class);
try {
removeIpFromNic.execute();
} catch (InvalidParameterValueException exception) {
Assert.assertEquals("Failed to remove secondary ip address for the nic", exception.getLocalizedMessage());
}
}
Reusable Method for MCI (click to expand)
private static NetworkService createMockNetworkService(boolean releaseSecondaryIpReturn) {
NetworkService networkService = Mockito.mock(NetworkService.class);
Mockito.when(networkService.releaseSecondaryIpFromNic(Matchers.anyInt())).thenReturn(releaseSecondaryIpReturn);
return networkService;
}
Mock Clone Instance #cloudstack_MCI_91
- Scope: method level
- Mocked Class:
com.cloud.server.ResourceTag
- Test Case Count: 2
- MO Count: 3
Reusable Method
private static ResourceTag createMockResourceTag(long accountId) {
ResourceTag resourceTag = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag.getAccountId()).thenReturn(accountId);
return resourceTag;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_91_1
Mock Object Variable Name: resourceTag
Suggested Diff
@@
Account caller = Mockito.mock(Account.class);
Mockito.when(caller.getAccountId()).thenReturn(accountId);
- ResourceTag resourceTag = Mockito.mock(ResourceTag.class);
- Mockito.when(resourceTag.getAccountId()).thenReturn(accountId);
+ ResourceTag resourceTag = createMockResourceTag(accountId);
taggedResourceManagerImplSpy.checkTagsDeletePermission(List.of(resourceTag), caller);
@@
Original Test Code (click to expand)
@Test
public void testCheckTagsDeletePermission() {
long accountId = 1L;
Account caller = Mockito.mock(Account.class);
Mockito.when(caller.getAccountId()).thenReturn(accountId);
ResourceTag resourceTag = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag.getAccountId()).thenReturn(accountId);
taggedResourceManagerImplSpy.checkTagsDeletePermission(List.of(resourceTag), caller);
}
Reusable Method for MCI (click to expand)
private static ResourceTag createMockResourceTag(long accountId) {
ResourceTag resourceTag = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag.getAccountId()).thenReturn(accountId);
return resourceTag;
}
Test Case ID #cloudstack_Test_91_2
Mock Object Variable Name: resourceTag1
Suggested Diff
@@
long callerAccountId = 1L;
long ownerAccountId = 2L;
Account caller = Mockito.mock(Account.class);
Mockito.when(caller.getAccountId()).thenReturn(callerAccountId);
- ResourceTag resourceTag1 = Mockito.mock(ResourceTag.class);
- Mockito.when(resourceTag1.getAccountId()).thenReturn(callerAccountId);
+ ResourceTag resourceTag1 = createMockResourceTag(callerAccountId);
ResourceTag resourceTag2 = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag2.getAccountId()).thenReturn(ownerAccountId);
Account owner = Mockito.mock(Account.class);
Mockito.when(accountManager.getAccount(ownerAccountId)).thenReturn(owner);
Mockito.doThrow(PermissionDeniedException.class).when(accountManager).checkAccess(caller, null, false, owner);
taggedResourceManagerImplSpy.checkTagsDeletePermission(List.of(resourceTag1, resourceTag2), caller);
@@
Original Test Code (click to expand)
@Test(expected = PermissionDeniedException.class)
public void testCheckTagsDeletePermissionFail() {
long callerAccountId = 1L;
long ownerAccountId = 2L;
Account caller = Mockito.mock(Account.class);
Mockito.when(caller.getAccountId()).thenReturn(callerAccountId);
ResourceTag resourceTag1 = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag1.getAccountId()).thenReturn(callerAccountId);
ResourceTag resourceTag2 = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag2.getAccountId()).thenReturn(ownerAccountId);
Account owner = Mockito.mock(Account.class);
Mockito.when(accountManager.getAccount(ownerAccountId)).thenReturn(owner);
Mockito.doThrow(PermissionDeniedException.class).when(accountManager).checkAccess(caller, null, false, owner);
taggedResourceManagerImplSpy.checkTagsDeletePermission(List.of(resourceTag1, resourceTag2), caller);
}
Reusable Method for MCI (click to expand)
private static ResourceTag createMockResourceTag(long accountId) {
ResourceTag resourceTag = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag.getAccountId()).thenReturn(accountId);
return resourceTag;
}
Test Case ID #cloudstack_Test_91_3
Mock Object Variable Name: resourceTag2
Suggested Diff
@@
ResourceTag resourceTag1 = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag1.getAccountId()).thenReturn(callerAccountId);
- ResourceTag resourceTag2 = Mockito.mock(ResourceTag.class);
- Mockito.when(resourceTag2.getAccountId()).thenReturn(ownerAccountId);
+ ResourceTag resourceTag2 = createMockResourceTag(ownerAccountId);
Account owner = Mockito.mock(Account.class);
Mockito.when(accountManager.getAccount(ownerAccountId)).thenReturn(owner);
@@
Original Test Code (click to expand)
@Test(expected = PermissionDeniedException.class)
public void testCheckTagsDeletePermissionFail() {
long callerAccountId = 1L;
long ownerAccountId = 2L;
Account caller = Mockito.mock(Account.class);
Mockito.when(caller.getAccountId()).thenReturn(callerAccountId);
ResourceTag resourceTag1 = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag1.getAccountId()).thenReturn(callerAccountId);
ResourceTag resourceTag2 = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag2.getAccountId()).thenReturn(ownerAccountId);
Account owner = Mockito.mock(Account.class);
Mockito.when(accountManager.getAccount(ownerAccountId)).thenReturn(owner);
Mockito.doThrow(PermissionDeniedException.class).when(accountManager).checkAccess(caller, null, false, owner);
taggedResourceManagerImplSpy.checkTagsDeletePermission(List.of(resourceTag1, resourceTag2), caller);
}
Reusable Method for MCI (click to expand)
private static ResourceTag createMockResourceTag(long accountId) {
ResourceTag resourceTag = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag.getAccountId()).thenReturn(accountId);
return resourceTag;
}
Mock Clone Instance #cloudstack_MCI_92
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.admin.vm.ImportUnmanagedInstanceCmd
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static ImportUnmanagedInstanceCmd createMockImportUnmanagedInstanceCmd(String nameReturn) {
ImportUnmanagedInstanceCmd importUnmanageInstanceCmd = Mockito.mock(ImportUnmanagedInstanceCmd.class);
when(importUnmanageInstanceCmd.getName()).thenReturn(nameReturn);
when(importUnmanageInstanceCmd.getAccountName()).thenReturn(null);
when(importUnmanageInstanceCmd.getDomainId()).thenReturn(null);
return importUnmanageInstanceCmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_92_1
Test Case Name: importUnmanagedInstanceTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\vm\UnmanagedVMsManagerImplTest.java)
Mock Object Variable Name: importUnmanageInstanceCmd
Suggested Diff
@@
@Test
public void importUnmanagedInstanceTest() {
- ImportUnmanagedInstanceCmd importUnmanageInstanceCmd = Mockito.mock(ImportUnmanagedInstanceCmd.class);
- when(importUnmanageInstanceCmd.getName()).thenReturn("TestInstance");
- when(importUnmanageInstanceCmd.getAccountName()).thenReturn(null);
- when(importUnmanageInstanceCmd.getDomainId()).thenReturn(null);
+ ImportUnmanagedInstanceCmd importUnmanageInstanceCmd = createMockImportUnmanagedInstanceCmd("TestInstance");
doNothing().when(hostDao).loadHostTags(null);
PowerMockito.mockStatic(UsageEventUtils.class);
unmanagedVMsManager.importUnmanagedInstance(importUnmanageInstanceCmd);
}
@@
Original Test Code (click to expand)
@Test
public void importUnmanagedInstanceTest() {
ImportUnmanagedInstanceCmd importUnmanageInstanceCmd = Mockito.mock(ImportUnmanagedInstanceCmd.class);
when(importUnmanageInstanceCmd.getName()).thenReturn("TestInstance");
when(importUnmanageInstanceCmd.getAccountName()).thenReturn(null);
when(importUnmanageInstanceCmd.getDomainId()).thenReturn(null);
doNothing().when(hostDao).loadHostTags(null);
PowerMockito.mockStatic(UsageEventUtils.class);
unmanagedVMsManager.importUnmanagedInstance(importUnmanageInstanceCmd);
}
Reusable Method for MCI (click to expand)
private static ImportUnmanagedInstanceCmd createMockImportUnmanagedInstanceCmd(String nameReturn) {
ImportUnmanagedInstanceCmd importUnmanageInstanceCmd = Mockito.mock(ImportUnmanagedInstanceCmd.class);
when(importUnmanageInstanceCmd.getName()).thenReturn(nameReturn);
when(importUnmanageInstanceCmd.getAccountName()).thenReturn(null);
when(importUnmanageInstanceCmd.getDomainId()).thenReturn(null);
return importUnmanageInstanceCmd;
}
Test Case ID #cloudstack_Test_92_2
Test Case Name: importUnmanagedInstanceMissingInstanceTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\vm\UnmanagedVMsManagerImplTest.java)
Mock Object Variable Name: importUnmanageInstanceCmd
Suggested Diff
@@
@Test(expected = ServerApiException.class)
public void importUnmanagedInstanceMissingInstanceTest() {
- ImportUnmanagedInstanceCmd importUnmanageInstanceCmd = Mockito.mock(ImportUnmanagedInstanceCmd.class);
- when(importUnmanageInstanceCmd.getName()).thenReturn("SomeInstance");
- when(importUnmanageInstanceCmd.getAccountName()).thenReturn(null);
- when(importUnmanageInstanceCmd.getDomainId()).thenReturn(null);
+ ImportUnmanagedInstanceCmd importUnmanageInstanceCmd = createMockImportUnmanagedInstanceCmd("SomeInstance");
unmanagedVMsManager.importUnmanagedInstance(importUnmanageInstanceCmd);
}
@@
Original Test Code (click to expand)
@Test(expected = ServerApiException.class)
public void importUnmanagedInstanceMissingInstanceTest() {
ImportUnmanagedInstanceCmd importUnmanageInstanceCmd = Mockito.mock(ImportUnmanagedInstanceCmd.class);
when(importUnmanageInstanceCmd.getName()).thenReturn("SomeInstance");
when(importUnmanageInstanceCmd.getAccountName()).thenReturn(null);
when(importUnmanageInstanceCmd.getDomainId()).thenReturn(null);
unmanagedVMsManager.importUnmanagedInstance(importUnmanageInstanceCmd);
}
Reusable Method for MCI (click to expand)
private static ImportUnmanagedInstanceCmd createMockImportUnmanagedInstanceCmd(String nameReturn) {
ImportUnmanagedInstanceCmd importUnmanageInstanceCmd = Mockito.mock(ImportUnmanagedInstanceCmd.class);
when(importUnmanageInstanceCmd.getName()).thenReturn(nameReturn);
when(importUnmanageInstanceCmd.getAccountName()).thenReturn(null);
when(importUnmanageInstanceCmd.getDomainId()).thenReturn(null);
return importUnmanageInstanceCmd;
}
Mock Clone Instance #cloudstack_MCI_93
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.user.userdata.RegisterUserDataCmd
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static RegisterUserDataCmd createMockRegisterUserDataCmd(String nameReturn, String userDataReturn) {
RegisterUserDataCmd cmd = Mockito.mock(RegisterUserDataCmd.class);
when(cmd.getName()).thenReturn(nameReturn);
when(cmd.getUserData()).thenReturn(userDataReturn);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_93_1
Test Case Name: testSuccessfulRegisterUserdata(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
- RegisterUserDataCmd cmd = Mockito.mock(RegisterUserDataCmd.class);
- when(cmd.getUserData()).thenReturn("testUserdata");
- when(cmd.getName()).thenReturn("testName");
+ RegisterUserDataCmd cmd = createMockRegisterUserDataCmd("testName", "testUserdata");
when(cmd.getHttpMethod()).thenReturn(BaseCmd.HTTPMethod.GET);
when(_userDataDao.findByName(account.getAccountId(), account.getDomainId(), "testName")).thenReturn(null);
@@
Original Test Code (click to expand)
@Test
public void testSuccessfulRegisterUserdata() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
RegisterUserDataCmd cmd = Mockito.mock(RegisterUserDataCmd.class);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getName()).thenReturn("testName");
when(cmd.getHttpMethod()).thenReturn(BaseCmd.HTTPMethod.GET);
when(_userDataDao.findByName(account.getAccountId(), account.getDomainId(), "testName")).thenReturn(null);
when(_userDataDao.findByUserData(account.getAccountId(), account.getDomainId(), "testUserdata")).thenReturn(null);
UserData userData = spy.registerUserData(cmd);
Assert.assertEquals("testName", userData.getName());
Assert.assertEquals("testUserdata", userData.getUserData());
Assert.assertEquals(1L, userData.getAccountId());
Assert.assertEquals(2L, userData.getDomainId());
}
Reusable Method for MCI (click to expand)
private static RegisterUserDataCmd createMockRegisterUserDataCmd(String nameReturn, String userDataReturn) {
RegisterUserDataCmd cmd = Mockito.mock(RegisterUserDataCmd.class);
when(cmd.getName()).thenReturn(nameReturn);
when(cmd.getUserData()).thenReturn(userDataReturn);
return cmd;
}
Test Case ID #cloudstack_Test_93_2
Test Case Name: testRegisterExistingUserdata(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
- RegisterUserDataCmd cmd = Mockito.mock(RegisterUserDataCmd.class);
- when(cmd.getUserData()).thenReturn("testUserdata");
- when(cmd.getName()).thenReturn("testName");
+ RegisterUserDataCmd cmd = createMockRegisterUserDataCmd("testName", "testUserdata");
UserDataVO userData = Mockito.mock(UserDataVO.class);
when(_userDataDao.findByName(account.getAccountId(), account.getDomainId(), "testName")).thenReturn(null);
when(_userDataDao.findByUserData(account.getAccountId(), account.getDomainId(), "testUserdata")).thenReturn(userData);
spy.registerUserData(cmd);
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testRegisterExistingUserdata() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
RegisterUserDataCmd cmd = Mockito.mock(RegisterUserDataCmd.class);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getName()).thenReturn("testName");
UserDataVO userData = Mockito.mock(UserDataVO.class);
when(_userDataDao.findByName(account.getAccountId(), account.getDomainId(), "testName")).thenReturn(null);
when(_userDataDao.findByUserData(account.getAccountId(), account.getDomainId(), "testUserdata")).thenReturn(userData);
spy.registerUserData(cmd);
}
Reusable Method for MCI (click to expand)
private static RegisterUserDataCmd createMockRegisterUserDataCmd(String nameReturn, String userDataReturn) {
RegisterUserDataCmd cmd = Mockito.mock(RegisterUserDataCmd.class);
when(cmd.getName()).thenReturn(nameReturn);
when(cmd.getUserData()).thenReturn(userDataReturn);
return cmd;
}
Test Case ID #cloudstack_Test_93_3
Test Case Name: testRegisterExistingName(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
- RegisterUserDataCmd cmd = Mockito.mock(RegisterUserDataCmd.class);
- when(cmd.getUserData()).thenReturn("testUserdata");
- when(cmd.getName()).thenReturn("testName");
+ RegisterUserDataCmd cmd = createMockRegisterUserDataCmd("testName", "testUserdata");
UserDataVO userData = Mockito.mock(UserDataVO.class);
when(_userDataDao.findByName(account.getAccountId(), account.getDomainId(), "testName")).thenReturn(userData);
spy.registerUserData(cmd);
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testRegisterExistingName() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
PowerMockito.when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
RegisterUserDataCmd cmd = Mockito.mock(RegisterUserDataCmd.class);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getName()).thenReturn("testName");
UserDataVO userData = Mockito.mock(UserDataVO.class);
when(_userDataDao.findByName(account.getAccountId(), account.getDomainId(), "testName")).thenReturn(userData);
spy.registerUserData(cmd);
}
Reusable Method for MCI (click to expand)
private static RegisterUserDataCmd createMockRegisterUserDataCmd(String nameReturn, String userDataReturn) {
RegisterUserDataCmd cmd = Mockito.mock(RegisterUserDataCmd.class);
when(cmd.getName()).thenReturn(nameReturn);
when(cmd.getUserData()).thenReturn(userDataReturn);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_94
- Scope: method level
- Mocked Class:
com.cloud.uservm.UserVm
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static UserVm createMockUserVmWithId(long id) {
UserVm userVm = mock(UserVm.class);
lenient().when(userVm.getId()).thenReturn(id);
return userVm;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_94_1
Test Case Name: testApplyUserDataInNetworkWithoutElement(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerTest.java)
Mock Object Variable Name: userVm
Suggested Diff
@@
public void testApplyUserDataInNetworkWithoutElement() throws Exception {
- UserVm userVm = mock(UserVm.class);
- lenient().when(userVm.getId()).thenReturn(1L);
+ UserVm userVm = createMockUserVmWithId(1L);
when(_nicMock.getNetworkId()).thenReturn(2L);
when(_networkMock.getNetworkOfferingId()).thenReturn(3L);
when(_networkDao.findById(2L)).thenReturn(_networkMock);
UserDataServiceProvider userDataServiceProvider = mock(UserDataServiceProvider.class);
lenient().when(userDataServiceProvider.saveUserData(any(Network.class), any(NicProfile.class), any(VirtualMachineProfile.class))).thenReturn(true);
// Userdata support, but no implementing element
when(_networkModel.areServicesSupportedByNetworkOffering(3L, Service.UserData)).thenReturn(true);
_userVmMgr.applyUserData(HypervisorType.KVM, userVm, _nicMock);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testApplyUserDataInNetworkWithoutElement() throws Exception {
UserVm userVm = mock(UserVm.class);
lenient().when(userVm.getId()).thenReturn(1L);
when(_nicMock.getNetworkId()).thenReturn(2L);
when(_networkMock.getNetworkOfferingId()).thenReturn(3L);
when(_networkDao.findById(2L)).thenReturn(_networkMock);
UserDataServiceProvider userDataServiceProvider = mock(UserDataServiceProvider.class);
lenient().when(userDataServiceProvider.saveUserData(any(Network.class), any(NicProfile.class), any(VirtualMachineProfile.class))).thenReturn(true);
when(_networkModel.areServicesSupportedByNetworkOffering(3L, Service.UserData)).thenReturn(true);
_userVmMgr.applyUserData(HypervisorType.KVM, userVm, _nicMock);
}
Reusable Method for MCI (click to expand)
private static UserVm createMockUserVmWithId(long id) {
UserVm userVm = mock(UserVm.class);
lenient().when(userVm.getId()).thenReturn(id);
return userVm;
}
Test Case ID #cloudstack_Test_94_2
Test Case Name: testApplyUserDataSuccessful(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerTest.java)
Mock Object Variable Name: userVm
Suggested Diff
@@
@Test
public void testApplyUserDataSuccessful() throws Exception {
- UserVm userVm = mock(UserVm.class);
- lenient().when(userVm.getId()).thenReturn(1L);
+ UserVm userVm = createMockUserVmWithId(1L);
when(_nicMock.getNetworkId()).thenReturn(2L);
when(_networkMock.getNetworkOfferingId()).thenReturn(3L);
when(_networkDao.findById(2L)).thenReturn(_networkMock);
UserDataServiceProvider userDataServiceProvider = mock(UserDataServiceProvider.class);
when(userDataServiceProvider.saveUserData(any(Network.class), any(NicProfile.class), any(VirtualMachineProfile.class))).thenReturn(true);
// Userdata support with implementing element
when(_networkModel.areServicesSupportedByNetworkOffering(3L, Service.UserData)).thenReturn(true);
when(_networkModel.getUserDataUpdateProvider(_networkMock)).thenReturn(userDataServiceProvider);
assertTrue(_userVmMgr.applyUserData(HypervisorType.KVM, userVm, _nicMock));
}
@@
Original Test Code (click to expand)
@Test
public void testApplyUserDataSuccessful() throws Exception {
UserVm userVm = mock(UserVm.class);
lenient().when(userVm.getId()).thenReturn(1L);
when(_nicMock.getNetworkId()).thenReturn(2L);
when(_networkMock.getNetworkOfferingId()).thenReturn(3L);
when(_networkDao.findById(2L)).thenReturn(_networkMock);
UserDataServiceProvider userDataServiceProvider = mock(UserDataServiceProvider.class);
when(userDataServiceProvider.saveUserData(any(Network.class), any(NicProfile.class), any(VirtualMachineProfile.class))).thenReturn(true);
when(_networkModel.areServicesSupportedByNetworkOffering(3L, Service.UserData)).thenReturn(true);
when(_networkModel.getUserDataUpdateProvider(_networkMock)).thenReturn(userDataServiceProvider);
assertTrue(_userVmMgr.applyUserData(HypervisorType.KVM, userVm, _nicMock));
}
Reusable Method for MCI (click to expand)
private static UserVm createMockUserVmWithId(long id) {
UserVm userVm = mock(UserVm.class);
lenient().when(userVm.getId()).thenReturn(id);
return userVm;
}
Mock Clone Instance #cloudstack_MCI_95
- Scope: method level
- Mocked Class:
com.cloud.uservm.UserVm
- Test Case Count: 4
- MO Count: 4
Reusable Method
private UserVm userVm;
@BeforeEach
public void setUp() {
userVm = mock(UserVm.class);
}
userVm
The refactoring details in each test cases
Test Case ID #cloudstack_Test_95_1
Test Case Name: applyPFRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: userVm
Suggested Diff
@@
@Test
public void applyPFRulesAddRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
- UserVm userVm = mock(UserVm.class);
+ // removed local mock; replaced with global field `userVm`
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
- when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
+ when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesAddRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private UserVm userVm;
@BeforeEach
public void setUp() {
userVm = mock(UserVm.class);
}
userVm
Test Case ID #cloudstack_Test_95_2
Test Case Name: applyPFRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: userVm
Suggested Diff
@@
@Test
public void applyPFRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
- UserVm userVm = mock(UserVm.class);
+ // removed local mock; replaced with global field `userVm`
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
- when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
+ when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private UserVm userVm;
@BeforeEach
public void setUp() {
userVm = mock(UserVm.class);
}
userVm
Test Case ID #cloudstack_Test_95_3
Test Case Name: applyPFRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: userVm
Suggested Diff
@@
@Test
public void applyPFRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
- UserVm userVm = mock(UserVm.class);
+ // removed local mock; replaced with global field `userVm`
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
- when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
+ when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private UserVm userVm;
@BeforeEach
public void setUp() {
userVm = mock(UserVm.class);
}
userVm
Test Case ID #cloudstack_Test_95_4
Test Case Name: applyPFRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: userVm
Suggested Diff
@@
@Test
public void applyPFRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
- UserVm userVm = mock(UserVm.class);
+ // removed local mock; replaced with global field `userVm`
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
- when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
+ when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private UserVm userVm;
@BeforeEach
public void setUp() {
userVm = mock(UserVm.class);
}
userVm
Mock Clone Instance #cloudstack_MCI_96
- Scope: method level
- Mocked Class:
com.cloud.network.lb.LoadBalancingRule
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static LoadBalancingRule createMockLoadBalancingRule(String algorithmReturn, int defaultPortStartReturn, long idReturn, Ip sourceIpReturn, int sourcePortStartReturn, FirewallRule.State stateReturn, List<LoadBalancingRule.LbStickinessPolicy> stickinessPoliciesReturn) {
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
when(loadBalancingRule.getAlgorithm()).thenReturn(algorithmReturn);
when(loadBalancingRule.getDefaultPortStart()).thenReturn(defaultPortStartReturn);
when(loadBalancingRule.getId()).thenReturn(idReturn);
when(loadBalancingRule.getSourceIp()).thenReturn(sourceIpReturn);
when(loadBalancingRule.getSourcePortStart()).thenReturn(sourcePortStartReturn);
when(loadBalancingRule.getState()).thenReturn(stateReturn);
when(loadBalancingRule.getStickinessPolicies()).thenReturn(stickinessPoliciesReturn);
return loadBalancingRule;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_96_1
Test Case Name: applyLBRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: loadBalancingRule1
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
- LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
+ LoadBalancingRule loadBalancingRule1 = createMockLoadBalancingRule(
+ "roundrobin",
+ 443,
+ 1L,
+ ip,
+ 443,
+ FirewallRule.State.Add,
+ lbStickinessPolicyList
+ );
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
- when(loadBalancingRule1.getId()).thenReturn(1L);
- when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
- when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
- when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
- when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
- when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
- when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
+ when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
+ when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleSuccessTest() {
User caller = mock(User.class);
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private static LoadBalancingRule createMockLoadBalancingRule(String algorithmReturn, int defaultPortStartReturn, long idReturn, Ip sourceIpReturn, int sourcePortStartReturn, FirewallRule.State stateReturn, List<LoadBalancingRule.LbStickinessPolicy> stickinessPoliciesReturn) {
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
when(loadBalancingRule.getAlgorithm()).thenReturn(algorithmReturn);
when(loadBalancingRule.getDefaultPortStart()).thenReturn(defaultPortStartReturn);
when(loadBalancingRule.getId()).thenReturn(idReturn);
when(loadBalancingRule.getSourceIp()).thenReturn(sourceIpReturn);
when(loadBalancingRule.getSourcePortStart()).thenReturn(sourcePortStartReturn);
when(loadBalancingRule.getState()).thenReturn(stateReturn);
when(loadBalancingRule.getStickinessPolicies()).thenReturn(stickinessPoliciesReturn);
return loadBalancingRule;
}
Test Case ID #cloudstack_Test_96_2
Test Case Name: applyLBRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: loadBalancingRule1
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
- LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
+ LoadBalancingRule loadBalancingRule1 = createMockLoadBalancingRule(
+ "roundrobin",
+ 443,
+ 1L,
+ ip,
+ 80,
+ FirewallRule.State.Add,
+ lbStickinessPolicyList
+ );
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
- when(loadBalancingRule1.getId()).thenReturn(1L);
- when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
- when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
- when(loadBalancingRule1.getSourcePortStart()).thenReturn(80);
- when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
- when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
- when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(80);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private static LoadBalancingRule createMockLoadBalancingRule(String algorithmReturn, int defaultPortStartReturn, long idReturn, Ip sourceIpReturn, int sourcePortStartReturn, FirewallRule.State stateReturn, List<LoadBalancingRule.LbStickinessPolicy> stickinessPoliciesReturn) {
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
when(loadBalancingRule.getAlgorithm()).thenReturn(algorithmReturn);
when(loadBalancingRule.getDefaultPortStart()).thenReturn(defaultPortStartReturn);
when(loadBalancingRule.getId()).thenReturn(idReturn);
when(loadBalancingRule.getSourceIp()).thenReturn(sourceIpReturn);
when(loadBalancingRule.getSourcePortStart()).thenReturn(sourcePortStartReturn);
when(loadBalancingRule.getState()).thenReturn(stateReturn);
when(loadBalancingRule.getStickinessPolicies()).thenReturn(stickinessPoliciesReturn);
return loadBalancingRule;
}
Mock Clone Instance #cloudstack_MCI_97
- Scope: method level
- Mocked Class:
com.cloud.network.lb.LoadBalancingRule
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static LoadBalancingRule createMockLoadBalancingRule(Ip sourceIp, FirewallRule.State state) {
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
when(loadBalancingRule.getSourceIp()).thenReturn(sourceIp);
when(loadBalancingRule.getState()).thenReturn(state);
return loadBalancingRule;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_97_1
Test Case Name: applyLBRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: loadBalancingRule1
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip1 = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
- LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
+ LoadBalancingRule loadBalancingRule1 = createMockLoadBalancingRule(ip1, FirewallRule.State.Revoke);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
- when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
- when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip1);
when(ip1.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip1 = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip1);
when(ip1.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private static LoadBalancingRule createMockLoadBalancingRule(Ip sourceIp, FirewallRule.State state) {
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
when(loadBalancingRule.getSourceIp()).thenReturn(sourceIp);
when(loadBalancingRule.getState()).thenReturn(state);
return loadBalancingRule;
}
Test Case ID #cloudstack_Test_97_2
Test Case Name: applyLBRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: loadBalancingRule
Suggested Diff
@@
Ip ip = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
- LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
+ LoadBalancingRule loadBalancingRule = createMockLoadBalancingRule(ip, FirewallRule.State.Revoke);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
List<LoadBalancingRule> loadBalancingRuleList = List.of(loadBalancingRule);
List<LoadBalancerVO> loadBalancerVOList = Arrays.asList(loadBalancerVO1, loadBalancerVO2);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
- when(loadBalancingRule.getSourceIp()).thenReturn(ip);
- when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
List<LoadBalancingRule> loadBalancingRuleList = List.of(loadBalancingRule);
List<LoadBalancerVO> loadBalancerVOList = Arrays.asList(loadBalancerVO1, loadBalancerVO2);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
}
Reusable Method for MCI (click to expand)
private static LoadBalancingRule createMockLoadBalancingRule(Ip sourceIp, FirewallRule.State state) {
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
when(loadBalancingRule.getSourceIp()).thenReturn(sourceIp);
when(loadBalancingRule.getState()).thenReturn(state);
return loadBalancingRule;
}
Mock Clone Instance #cloudstack_MCI_98
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.NicTO
- Test Case Count: 5
- MO Count: 5
Reusable Method
private static NicTO createMockNicTO(Networks.TrafficType trafficType) {
NicTO nicTO = Mockito.mock(NicTO.class);
when(nicTO.getType()).thenReturn(trafficType);
return nicTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_98_1
Mock Object Variable Name: nicTO
Suggested Diff
@@
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
- final NicTO nicTO = Mockito.mock(NicTO.class);
+ final NicTO nicTO = createMockNicTO(TrafficType.Guest);
final DiskTO diskTO = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
- when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
@@
Original Test Code (click to expand)
@Test
public void testPrepareForMigrationCommand() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO diskTO = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(Networks.TrafficType trafficType) {
NicTO nicTO = Mockito.mock(NicTO.class);
when(nicTO.getType()).thenReturn(trafficType);
return nicTO;
}
Test Case ID #cloudstack_Test_98_2
Mock Object Variable Name: nicTO
Suggested Diff
@@
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
- final NicTO nicTO = Mockito.mock(NicTO.class);
+ final NicTO nicTO = createMockNicTO(TrafficType.Guest);
final DiskTO diskTO = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
- when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
when(storagePoolManager.connectPhysicalDisksViaVmSpec(vm)).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
@@
Original Test Code (click to expand)
@Test
public void testPrepareForMigrationCommandMigration() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO diskTO = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
when(storagePoolManager.connectPhysicalDisksViaVmSpec(vm)).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(Networks.TrafficType trafficType) {
NicTO nicTO = Mockito.mock(NicTO.class);
when(nicTO.getType()).thenReturn(trafficType);
return nicTO;
}
Test Case ID #cloudstack_Test_98_3
Mock Object Variable Name: nicTO
Suggested Diff
@@
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
- final NicTO nicTO = Mockito.mock(NicTO.class);
+ final NicTO nicTO = createMockNicTO(TrafficType.Guest);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
- when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testPrepareForMigrationCommandLibvirtException() {
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(Networks.TrafficType trafficType) {
NicTO nicTO = Mockito.mock(NicTO.class);
when(nicTO.getType()).thenReturn(trafficType);
return nicTO;
}
Test Case ID #cloudstack_Test_98_4
Mock Object Variable Name: nicTO
Suggested Diff
@@
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
- final NicTO nicTO = Mockito.mock(NicTO.class);
+ final NicTO nicTO = createMockNicTO(TrafficType.Guest);
final DiskTO volume = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { volume });
- when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(volume.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
try {
when(libvirtComputingResourceMock.getVolumePath(conn, volume)).thenThrow(URISyntaxException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(volume, times(1)).getType();
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testPrepareForMigrationCommandURISyntaxException() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO volume = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { volume });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(volume.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
try {
when(libvirtComputingResourceMock.getVolumePath(conn, volume)).thenThrow(URISyntaxException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(volume, times(1)).getType();
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(Networks.TrafficType trafficType) {
NicTO nicTO = Mockito.mock(NicTO.class);
when(nicTO.getType()).thenReturn(trafficType);
return nicTO;
}
Test Case ID #cloudstack_Test_98_5
Mock Object Variable Name: nicTO
Suggested Diff
@@
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
- final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO volume = Mockito.mock(DiskTO.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
+ final NicTO nicTO = createMockNicTO(TrafficType.Guest);
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
- when(nicTO.getType()).thenReturn(TrafficType.Guest);
BDDMockito.given(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).willAnswer(invocationOnMock -> {
throw new InternalErrorException("Exception Occurred");
});
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
try {
when(libvirtComputingResourceMock.getVolumePath(conn, volume)).thenReturn("/path");
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
}
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testPrepareForMigrationCommandInternalErrorException() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO volume = Mockito.mock(DiskTO.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
BDDMockito.given(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).willAnswer(invocationOnMock -> {
throw new InternalErrorException("Exception Occurred");
});
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
try {
when(libvirtComputingResourceMock.getVolumePath(conn, volume)).thenReturn("/path");
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(Networks.TrafficType trafficType) {
NicTO nicTO = Mockito.mock(NicTO.class);
when(nicTO.getType()).thenReturn(trafficType);
return nicTO;
}
Mock Clone Instance #cloudstack_MCI_99
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.NicTO
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static NicTO createMockNicTO(String macReturn) {
NicTO nic = Mockito.mock(NicTO.class);
when(nic.getMac()).thenReturn(macReturn);
return nic;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_99_1
Test Case Name: testPlugNicCommandMatchMack(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void testPlugNicCommandMatchMack() {
- final NicTO nic = Mockito.mock(NicTO.class);
+ final NicTO nic = createMockNicTO("00:00:00:00");
final String instanceName = "Test";
final Type vmtype = Type.DomainRouter;
final PlugNicCommand command = new PlugNicCommand(nic, instanceName, vmtype);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final List<InterfaceDef> nics = new ArrayList<InterfaceDef>();
final InterfaceDef intDef = Mockito.mock(InterfaceDef.class);
nics.add(intDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtComputingResourceMock.getInterfaces(conn, command.getVmName())).thenReturn(nics);
when(intDef.getDevName()).thenReturn("eth0");
when(intDef.getBrName()).thenReturn("br0");
when(intDef.getMacAddress()).thenReturn("00:00:00:00");
- when(nic.getMac()).thenReturn("00:00:00:00");
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenReturn(conn);
when(libvirtComputingResourceMock.getDomain(conn, instanceName)).thenReturn(vm);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
verify(libvirtComputingResourceMock, times(1)).getDomain(conn, instanceName);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
@@
Original Test Code (click to expand)
@Test
public void testPlugNicCommandMatchMack() {
final NicTO nic = Mockito.mock(NicTO.class);
final String instanceName = "Test";
final Type vmtype = Type.DomainRouter;
final PlugNicCommand command = new PlugNicCommand(nic, instanceName, vmtype);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final List<InterfaceDef> nics = new ArrayList<InterfaceDef>();
final InterfaceDef intDef = Mockito.mock(InterfaceDef.class);
nics.add(intDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtComputingResourceMock.getInterfaces(conn, command.getVmName())).thenReturn(nics);
when(intDef.getDevName()).thenReturn("eth0");
when(intDef.getBrName()).thenReturn("br0");
when(intDef.getMacAddress()).thenReturn("00:00:00:00");
when(nic.getMac()).thenReturn("00:00:00:00");
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenReturn(conn);
when(libvirtComputingResourceMock.getDomain(conn, instanceName)).thenReturn(vm);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
verify(libvirtComputingResourceMock, times(1)).getDomain(conn, instanceName);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(String macReturn) {
NicTO nic = Mockito.mock(NicTO.class);
when(nic.getMac()).thenReturn(macReturn);
return nic;
}
Test Case ID #cloudstack_Test_99_2
Test Case Name: testPlugNicCommandNoMatchMack(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
- final NicTO nic = Mockito.mock(NicTO.class);
+ final NicTO nic = createMockNicTO("00:00:00:01");
final String instanceName = "Test";
final Type vmtype = Type.DomainRouter;
final PlugNicCommand command = new PlugNicCommand(nic, instanceName, vmtype);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final InterfaceDef interfaceDef = Mockito.mock(InterfaceDef.class);
final List<InterfaceDef> nics = new ArrayList<InterfaceDef>();
final InterfaceDef intDef = Mockito.mock(InterfaceDef.class);
nics.add(intDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtComputingResourceMock.getInterfaces(conn, command.getVmName())).thenReturn(nics);
when(intDef.getDevName()).thenReturn("eth0");
when(intDef.getBrName()).thenReturn("br0");
when(intDef.getMacAddress()).thenReturn("00:00:00:00");
- when(nic.getMac()).thenReturn("00:00:00:01");
when(nic.getName()).thenReturn("br0");
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenReturn(conn);
when(libvirtComputingResourceMock.getDomain(conn, instanceName)).thenReturn(vm);
when(libvirtComputingResourceMock.getVifDriver(nic.getType(), nic.getName())).thenReturn(vifDriver);
when(vifDriver.plug(nic, "Other PV", "", null)).thenReturn(interfaceDef);
when(interfaceDef.toString()).thenReturn("Interface");
final String interfaceDefStr = interfaceDef.toString();
doNothing().when(vm).attachDevice(interfaceDefStr);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
verify(libvirtComputingResourceMock, times(1)).getDomain(conn, instanceName);
verify(libvirtComputingResourceMock, times(1)).getVifDriver(nic.getType(), nic.getName());
verify(vifDriver, times(1)).plug(nic, "Other PV", "", null);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
@@
Original Test Code (click to expand)
@Test
public void testPlugNicCommandNoMatchMack() {
final NicTO nic = Mockito.mock(NicTO.class);
final String instanceName = "Test";
final Type vmtype = Type.DomainRouter;
final PlugNicCommand command = new PlugNicCommand(nic, instanceName, vmtype);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final InterfaceDef interfaceDef = Mockito.mock(InterfaceDef.class);
final List<InterfaceDef> nics = new ArrayList<InterfaceDef>();
final InterfaceDef intDef = Mockito.mock(InterfaceDef.class);
nics.add(intDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtComputingResourceMock.getInterfaces(conn, command.getVmName())).thenReturn(nics);
when(intDef.getDevName()).thenReturn("eth0");
when(intDef.getBrName()).thenReturn("br0");
when(intDef.getMacAddress()).thenReturn("00:00:00:00");
when(nic.getMac()).thenReturn("00:00:00:01");
when(nic.getName()).thenReturn("br0");
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenReturn(conn);
when(libvirtComputingResourceMock.getDomain(conn, instanceName)).thenReturn(vm);
when(libvirtComputingResourceMock.getVifDriver(nic.getType(), nic.getName())).thenReturn(vifDriver);
when(vifDriver.plug(nic, "Other PV", "", null)).thenReturn(interfaceDef);
when(interfaceDef.toString()).thenReturn("Interface");
final String interfaceDefStr = interfaceDef.toString();
doNothing().when(vm).attachDevice(interfaceDefStr);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
verify(libvirtComputingResourceMock, times(1)).getDomain(conn, instanceName);
verify(libvirtComputingResourceMock, times(1)).getVifDriver(nic.getType(), nic.getName());
verify(vifDriver, times(1)).plug(nic, "Other PV", "", null);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(String macReturn) {
NicTO nic = Mockito.mock(NicTO.class);
when(nic.getMac()).thenReturn(macReturn);
return nic;
}
Test Case ID #cloudstack_Test_99_3
Test Case Name: testPlugNicCommandInternalError(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@SuppressWarnings("unchecked")
@Test
public void testPlugNicCommandInternalError() {
- final NicTO nic = Mockito.mock(NicTO.class);
+ final NicTO nic = createMockNicTO("00:00:00:01");
final String instanceName = "Test";
final Type vmtype = Type.DomainRouter;
final PlugNicCommand command = new PlugNicCommand(nic, instanceName, vmtype);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final List<InterfaceDef> nics = new ArrayList<InterfaceDef>();
final InterfaceDef intDef = Mockito.mock(InterfaceDef.class);
nics.add(intDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtComputingResourceMock.getInterfaces(conn, command.getVmName())).thenReturn(nics);
when(intDef.getDevName()).thenReturn("eth0");
when(intDef.getBrName()).thenReturn("br0");
when(intDef.getMacAddress()).thenReturn("00:00:00:00");
- when(nic.getMac()).thenReturn("00:00:00:01");
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenReturn(conn);
when(libvirtComputingResourceMock.getDomain(conn, instanceName)).thenReturn(vm);
when(libvirtComputingResourceMock.getVifDriver(nic.getType(), nic.getName())).thenReturn(vifDriver);
when(vifDriver.plug(nic, "Other PV", "", null)).thenThrow(InternalErrorException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
verify(libvirtComputingResourceMock, times(1)).getDomain(conn, instanceName);
verify(libvirtComputingResourceMock, times(1)).getVifDriver(nic.getType(), nic.getName());
verify(vifDriver, times(1)).plug(nic, "Other PV", "", null);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
}
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testPlugNicCommandInternalError() {
final NicTO nic = Mockito.mock(NicTO.class);
final String instanceName = "Test";
final Type vmtype = Type.DomainRouter;
final PlugNicCommand command = new PlugNicCommand(nic, instanceName, vmtype);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final List<InterfaceDef> nics = new ArrayList<InterfaceDef>();
final InterfaceDef intDef = Mockito.mock(InterfaceDef.class);
nics.add(intDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtComputingResourceMock.getInterfaces(conn, command.getVmName())).thenReturn(nics);
when(intDef.getDevName()).thenReturn("eth0");
when(intDef.getBrName()).thenReturn("br0");
when(intDef.getMacAddress()).thenReturn("00:00:00:00");
when(nic.getMac()).thenReturn("00:00:00:01");
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenReturn(conn);
when(libvirtComputingResourceMock.getDomain(conn, instanceName)).thenReturn(vm);
when(libvirtComputingResourceMock.getVifDriver(nic.getType(), nic.getName())).thenReturn(vifDriver);
when(vifDriver.plug(nic, "Other PV", "", null)).thenThrow(InternalErrorException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
verify(libvirtComputingResourceMock, times(1)).getDomain(conn, instanceName);
verify(libvirtComputingResourceMock, times(1)).getVifDriver(nic.getType(), nic.getName());
verify(vifDriver, times(1)).plug(nic, "Other PV", "", null);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(String macReturn) {
NicTO nic = Mockito.mock(NicTO.class);
when(nic.getMac()).thenReturn(macReturn);
return nic;
}
Test Case ID #cloudstack_Test_99_4
Test Case Name: testUnPlugNicCommandMatchMack(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
- final NicTO nic = Mockito.mock(NicTO.class);
+ final NicTO nic = createMockNicTO("00:00:00:00");
final String instanceName = "Test";
final UnPlugNicCommand command = new UnPlugNicCommand(nic, instanceName);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final InterfaceDef interfaceDef = Mockito.mock(InterfaceDef.class);
final List<InterfaceDef> nics = new ArrayList<InterfaceDef>();
final InterfaceDef intDef = Mockito.mock(InterfaceDef.class);
nics.add(intDef);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final List<VifDriver> drivers = new ArrayList<VifDriver>();
drivers.add(vifDriver);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtComputingResourceMock.getInterfaces(conn, command.getVmName())).thenReturn(nics);
when(intDef.getDevName()).thenReturn("eth0");
when(intDef.getBrName()).thenReturn("br0");
when(intDef.getMacAddress()).thenReturn("00:00:00:00");
- when(nic.getMac()).thenReturn("00:00:00:00");
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenReturn(conn);
when(libvirtComputingResourceMock.getDomain(conn, instanceName)).thenReturn(vm);
when(interfaceDef.toString()).thenReturn("Interface");
final String interfaceDefStr = interfaceDef.toString();
doNothing().when(vm).detachDevice(interfaceDefStr);
when(libvirtComputingResourceMock.getAllVifDrivers()).thenReturn(drivers);
doNothing().when(vifDriver).unplug(intDef, true);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
verify(libvirtComputingResourceMock, times(1)).getDomain(conn, instanceName);
verify(libvirtComputingResourceMock, times(1)).getAllVifDrivers();
} catch (final LibvirtException e) {
fail(e.getMessage());
}
@@
Original Test Code (click to expand)
@Test
public void testUnPlugNicCommandMatchMack() {
final NicTO nic = Mockito.mock(NicTO.class);
final String instanceName = "Test";
final UnPlugNicCommand command = new UnPlugNicCommand(nic, instanceName);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final InterfaceDef interfaceDef = Mockito.mock(InterfaceDef.class);
final List<InterfaceDef> nics = new ArrayList<InterfaceDef>();
final InterfaceDef intDef = Mockito.mock(InterfaceDef.class);
nics.add(intDef);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final List<VifDriver> drivers = new ArrayList<VifDriver>();
drivers.add(vifDriver);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtComputingResourceMock.getInterfaces(conn, command.getVmName())).thenReturn(nics);
when(intDef.getDevName()).thenReturn("eth0");
when(intDef.getBrName()).thenReturn("br0");
when(intDef.getMacAddress()).thenReturn("00:00:00:00");
when(nic.getMac()).thenReturn("00:00:00:00");
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenReturn(conn);
when(libvirtComputingResourceMock.getDomain(conn, instanceName)).thenReturn(vm);
when(interfaceDef.toString()).thenReturn("Interface");
final String interfaceDefStr = interfaceDef.toString();
doNothing().when(vm).detachDevice(interfaceDefStr);
when(libvirtComputingResourceMock.getAllVifDrivers()).thenReturn(drivers);
doNothing().when(vifDriver).unplug(intDef, true);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
verify(libvirtComputingResourceMock, times(1)).getDomain(conn, instanceName);
verify(libvirtComputingResourceMock, times(1)).getAllVifDrivers();
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(String macReturn) {
NicTO nic = Mockito.mock(NicTO.class);
when(nic.getMac()).thenReturn(macReturn);
return nic;
}
Mock Clone Instance #cloudstack_MCI_100
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.NicTO
- Test Case Count: 10
- MO Count: 10
Reusable Method
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_100_1
Test Case Name: testPlugNicCommandLibvirtException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@SuppressWarnings("unchecked")
@Test
public void testPlugNicCommandLibvirtException() {
- final NicTO nic = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nic`
final String instanceName = "Test";
final Type vmtype = Type.DomainRouter;
final PlugNicCommand command = new PlugNicCommand(nic, instanceName, vmtype);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testPlugNicCommandLibvirtException() {
final NicTO nic = Mockito.mock(NicTO.class);
final String instanceName = "Test";
final Type vmtype = Type.DomainRouter;
final PlugNicCommand command = new PlugNicCommand(nic, instanceName, vmtype);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
Test Case ID #cloudstack_Test_100_2
Test Case Name: testUnPlugNicCommandNoNics(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void testUnPlugNicCommandNoNics() {
- final NicTO nic = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nic`
final String instanceName = "Test";
final UnPlugNicCommand command = new UnPlugNicCommand(nic, instanceName);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
Original Test Code (click to expand)
@Test
public void testUnPlugNicCommandNoNics() {
final NicTO nic = Mockito.mock(NicTO.class);
final String instanceName = "Test";
final UnPlugNicCommand command = new UnPlugNicCommand(nic, instanceName);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final Domain vm = Mockito.mock(Domain.class);
final List<InterfaceDef> nics = new ArrayList<InterfaceDef>();
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final List<VifDriver> drivers = new ArrayList<VifDriver>();
drivers.add(vifDriver);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtComputingResourceMock.getInterfaces(conn, command.getVmName())).thenReturn(nics);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenReturn(conn);
when(libvirtComputingResourceMock.getDomain(conn, instanceName)).thenReturn(vm);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
verify(libvirtComputingResourceMock, times(1)).getDomain(conn, instanceName);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
Test Case ID #cloudstack_Test_100_3
Test Case Name: testUnPlugNicCommandLibvirtException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@SuppressWarnings("unchecked")
@Test
public void testUnPlugNicCommandLibvirtException() {
- final NicTO nic = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nic`
final String instanceName = "Test";
final UnPlugNicCommand command = new UnPlugNicCommand(nic, instanceName);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testUnPlugNicCommandLibvirtException() {
final NicTO nic = Mockito.mock(NicTO.class);
final String instanceName = "Test";
final UnPlugNicCommand command = new UnPlugNicCommand(nic, instanceName);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
Test Case ID #cloudstack_Test_100_4
Test Case Name: testStartCommandFailedConnect(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
- final NicTO nic = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nic`
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
@@
Original Test Code (click to expand)
@Test
public void testStartCommandFailedConnect() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(false);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
Test Case ID #cloudstack_Test_100_5
Test Case Name: testStartCommandLibvirtException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
- final NicTO nic = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nic`
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testStartCommandLibvirtException() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
Test Case ID #cloudstack_Test_100_6
Test Case Name: testStartCommandInternalError(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void testStartCommandInternalError() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
- final NicTO nic = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nic`
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doThrow(InternalErrorException.class).when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Original Test Code (click to expand)
@Test
public void testStartCommandInternalError() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doThrow(InternalErrorException.class).when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
Test Case ID #cloudstack_Test_100_7
Test Case Name: testStartCommandUriException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
- final NicTO nic = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nic`
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
@@
Original Test Code (click to expand)
@Test
public void testStartCommandUriException() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doThrow(URISyntaxException.class).when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
Test Case ID #cloudstack_Test_100_8
Test Case Name: testStartCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
final VirtualRoutingResource virtRouterResource = Mockito.mock(VirtualRoutingResource.class);
- final NicTO nic = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nic`
final NicTO[] nics = new NicTO[] { nic };
final int[] vms = new int[0];
final String vmName = "Test";
final String controlIp = "127.0.0.1";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
try {
doNothing().when(libvirtComputingResourceMock).createVifs(vmSpec, vmDef);
when(libvirtComputingResourceMock.startVM(conn, vmName, vmDef.toString())).thenReturn("SUCCESS");
when(vmSpec.getBootArgs()).thenReturn("ls -lart");
when(libvirtComputingResourceMock.passCmdLine(vmName, vmSpec.getBootArgs())).thenReturn(true);
- when(nic.getIp()).thenReturn(controlIp);
+ when(nic.getIp()).thenReturn(controlIp);
- when(nic.getType()).thenReturn(TrafficType.Control);
+ when(nic.getType()).thenReturn(TrafficType.Control);
when(libvirtComputingResourceMock.getVirtRouterResource()).thenReturn(virtRouterResource);
when(virtRouterResource.connect(controlIp, 1, 5000)).thenReturn(true);
when(virtRouterResource.isSystemVMSetup(vmName, controlIp)).thenReturn(true);
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Original Test Code (click to expand)
@Test
public void testStartCommand() throws Exception {
PowerMockito.mockStatic(SshHelper.class);
PowerMockito.doNothing().when(SshHelper.class, "scpTo", Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.any(File.class), nullable(String.class), Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString());
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final VirtualRoutingResource virtRouterResource = Mockito.mock(VirtualRoutingResource.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final int[] vms = new int[0];
final String vmName = "Test";
final String controlIp = "127.0.0.1";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
try {
doNothing().when(libvirtComputingResourceMock).createVifs(vmSpec, vmDef);
when(libvirtComputingResourceMock.startVM(conn, vmName, vmDef.toString())).thenReturn("SUCCESS");
when(vmSpec.getBootArgs()).thenReturn("ls -lart");
when(libvirtComputingResourceMock.passCmdLine(vmName, vmSpec.getBootArgs())).thenReturn(true);
when(nic.getIp()).thenReturn(controlIp);
when(nic.getType()).thenReturn(TrafficType.Control);
when(libvirtComputingResourceMock.getVirtRouterResource()).thenReturn(virtRouterResource);
when(virtRouterResource.connect(controlIp, 1, 5000)).thenReturn(true);
when(virtRouterResource.isSystemVMSetup(vmName, controlIp)).thenReturn(true);
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
Test Case ID #cloudstack_Test_100_9
Test Case Name: testStartCommandIsolationEc2(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
final VirtualRoutingResource virtRouterResource = Mockito.mock(VirtualRoutingResource.class);
- final NicTO nic = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nic`
final NicTO[] nics = new NicTO[] { nic };
final int[] vms = new int[0];
final String vmName = "Test";
final String controlIp = "127.0.0.1";
@@
Original Test Code (click to expand)
@Test
public void testStartCommandIsolationEc2() throws Exception {
PowerMockito.mockStatic(SshHelper.class);
PowerMockito.doNothing().when(SshHelper.class, "scpTo", Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.any(File.class), nullable(String.class), Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString());
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final VirtualRoutingResource virtRouterResource = Mockito.mock(VirtualRoutingResource.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final int[] vms = new int[0];
final String vmName = "Test";
final String controlIp = "127.0.0.1";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
try {
doNothing().when(libvirtComputingResourceMock).createVifs(vmSpec, vmDef);
when(libvirtComputingResourceMock.startVM(conn, vmName, vmDef.toString())).thenReturn("SUCCESS");
when(nic.isSecurityGroupEnabled()).thenReturn(true);
when(nic.getIsolationUri()).thenReturn(new URI("ec2://test"));
when(vmSpec.getBootArgs()).thenReturn("ls -lart");
when(libvirtComputingResourceMock.passCmdLine(vmName, vmSpec.getBootArgs())).thenReturn(true);
when(nic.getIp()).thenReturn(controlIp);
when(nic.getType()).thenReturn(TrafficType.Control);
when(libvirtComputingResourceMock.getVirtRouterResource()).thenReturn(virtRouterResource);
when(virtRouterResource.connect(controlIp, 1, 5000)).thenReturn(true);
when(virtRouterResource.isSystemVMSetup(vmName, controlIp)).thenReturn(true);
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
Test Case ID #cloudstack_Test_100_10
Test Case Name: testStartCommandHostMemory(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
- final NicTO nic = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nic`
final NicTO[] nics = new NicTO[] { nic };
int vmId = 1;
final int[] vms = new int[] { vmId };
Original Test Code (click to expand)
@Test
public void testStartCommandHostMemory() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
int vmId = 1;
final int[] vms = new int[] { vmId };
final Domain dm = Mockito.mock(Domain.class);
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.User);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getMaxRam()).thenReturn(512L);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
when(conn.domainLookupByID(vmId)).thenReturn(dm);
when(dm.getMaxMemory()).thenReturn(1024L);
when(dm.getName()).thenReturn(vmName);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
}
Reusable Method for MCI (click to expand)
private NicTO nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(NicTO.class);
}
nic;
Mock Clone Instance #cloudstack_MCI_101
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.NicTO
- Test Case Count: 1
- MO Count: 2
Reusable Method
private static NicTO createMockNicTO(String mac) {
NicTO nic = Mockito.mock(NicTO.class);
when(nic.getMac()).thenReturn(mac);
return nic;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_101_1
Test Case Name: testMigrateWithStorageSendCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: nic1
Suggested Diff
@@
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
- final NicTO nic1 = Mockito.mock(NicTO.class);
+ final NicTO nic1 = createMockNicTO(mac);
final NicTO nic2 = Mockito.mock(NicTO.class);
final Network network1 = Mockito.mock(Network.class);
final Network network2 = Mockito.mock(Network.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, network1));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, network2));
final Map<String, String> token = new HashMap<String, String>();
final VIF vif1 = Mockito.mock(VIF.class);
final VIF vif2 = Mockito.mock(VIF.class);
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
- when(nic1.getMac()).thenReturn(mac);
when(nic2.getMac()).thenReturn(mac);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommand() {
final String vmName = "small";
final String path = "/";
final String mac = "3c:15:c2:c4:4f:18";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
final Network network1 = Mockito.mock(Network.class);
final Network network2 = Mockito.mock(Network.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, network1));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, network2));
final Map<String, String> token = new HashMap<String, String>();
final VIF vif1 = Mockito.mock(VIF.class);
final VIF vif2 = Mockito.mock(VIF.class);
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(nic1.getMac()).thenReturn(mac);
when(nic2.getMac()).thenReturn(mac);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getVifByMac(conn, null, nic1.getMac())).thenReturn(vif1);
when(xenServer610Resource.getVifByMac(conn, null, nic2.getMac())).thenReturn(vif2);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(2)).getVDIbyUuid(conn, volume1.getPath());
verify(xenServer610Resource, times(2)).getVifByMac(conn, null, nic1.getMac());
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(String mac) {
NicTO nic = Mockito.mock(NicTO.class);
when(nic.getMac()).thenReturn(mac);
return nic;
}
Test Case ID #cloudstack_Test_101_2
Test Case Name: testMigrateWithStorageSendCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: nic2
Suggested Diff
@@
final NicTO nic1 = Mockito.mock(NicTO.class);
- final NicTO nic2 = Mockito.mock(NicTO.class);
+ final NicTO nic2 = createMockNicTO(mac);
final Network network1 = Mockito.mock(Network.class);
final Network network2 = Mockito.mock(Network.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, network1));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, network2));
final Map<String, String> token = new HashMap<String, String>();
final VIF vif1 = Mockito.mock(VIF.class);
final VIF vif2 = Mockito.mock(VIF.class);
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(nic1.getMac()).thenReturn(mac);
- when(nic2.getMac()).thenReturn(mac);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getVifByMac(conn, null, nic1.getMac())).thenReturn(vif1);
when(xenServer610Resource.getVifByMac(conn, null, nic2.getMac())).thenReturn(vif2);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(2)).getVDIbyUuid(conn, volume1.getPath());
verify(xenServer610Resource, times(2)).getVifByMac(conn, null, nic1.getMac());
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommand() {
final String vmName = "small";
final String path = "/";
final String mac = "3c:15:c2:c4:4f:18";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
final Network network1 = Mockito.mock(Network.class);
final Network network2 = Mockito.mock(Network.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, network1));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, network2));
final Map<String, String> token = new HashMap<String, String>();
final VIF vif1 = Mockito.mock(VIF.class);
final VIF vif2 = Mockito.mock(VIF.class);
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(nic1.getMac()).thenReturn(mac);
when(nic2.getMac()).thenReturn(mac);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getVifByMac(conn, null, nic1.getMac())).thenReturn(vif1);
when(xenServer610Resource.getVifByMac(conn, null, nic2.getMac())).thenReturn(vif2);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(2)).getVDIbyUuid(conn, volume1.getPath());
verify(xenServer610Resource, times(2)).getVifByMac(conn, null, nic1.getMac());
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static NicTO createMockNicTO(String mac) {
NicTO nic = Mockito.mock(NicTO.class);
when(nic.getMac()).thenReturn(mac);
return nic;
}
Mock Clone Instance #cloudstack_MCI_102
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.NicTO
- Test Case Count: 3
- MO Count: 3
Reusable Method
private NicTO nicTO1; private NicTO nicTO2; private NicTO nicTO3;
@BeforeEach
public void setUp() {
nicTO1 = mock(NicTO.class); nicTO2 = mock(NicTO.class); nicTO3 = mock(NicTO.class);
}
nicTO1; nicTO2; nicTO3;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_102_1
Test Case Name: testMigrateWithStorageCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: nicTO1
Suggested Diff
@@
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
- final NicTO nicTO1 = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nicTO1 nicTO2 nicTO3`
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
@@
verify(xenServer610Resource, times(1)).prepareISO(conn, vmName, null, null);
- verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
+ verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1 nicTO2 nicTO3);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network networkForSm = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final MigrateWithStorageCommand migrateStorageCommand = new MigrateWithStorageCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
when(vol2.getPath()).thenReturn(path);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
when(xenServer610Resource.getVDIbyUuid(conn, storage1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, storage2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(networkForSm);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).prepareISO(conn, vmName, null, null);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private NicTO nicTO1; private NicTO nicTO2; private NicTO nicTO3;
@BeforeEach
public void setUp() {
nicTO1 = mock(NicTO.class); nicTO2 = mock(NicTO.class); nicTO3 = mock(NicTO.class);
}
nicTO1; nicTO2; nicTO3;
Test Case ID #cloudstack_Test_102_2
Test Case Name: testMigrateWithStorageReceiveCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: nicTO1
Suggested Diff
@@
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final List<Pair<VolumeTO, String>> volumeToFiler = new ArrayList<>();
volumeToFiler.add(new Pair<>(vol1, storage1.getPath()));
volumeToFiler.add(new Pair<>(vol2, storage2.getPath()));
- final NicTO nicTO1 = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nicTO1 nicTO2 nicTO3`
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
@@
try {
- when(xenServer610Resource.getNetwork(conn, nicTO1)).thenReturn(nw1);
+ when(xenServer610Resource.getNetwork(conn, nicTO1 nicTO2 nicTO3)).thenReturn(nw1);
when(xenServer610Resource.getNetwork(conn, nicTO2)).thenReturn(nw2);
when(xenServer610Resource.getNetwork(conn, nicTO3)).thenReturn(nw3);
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(network);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
- verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
+ verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1 nicTO2 nicTO3);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageReceiveCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final List<Pair<VolumeTO, String>> volumeToFiler = new ArrayList<>();
volumeToFiler.add(new Pair<>(vol1, storage1.getPath()));
volumeToFiler.add(new Pair<>(vol2, storage2.getPath()));
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network network = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final Network nw1 = Mockito.mock(Network.class);
final Network nw2 = Mockito.mock(Network.class);
final Network nw3 = Mockito.mock(Network.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final MigrateWithStorageReceiveCommand migrateStorageCommand = new MigrateWithStorageReceiveCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
try {
when(xenServer610Resource.getNetwork(conn, nicTO1)).thenReturn(nw1);
when(xenServer610Resource.getNetwork(conn, nicTO2)).thenReturn(nw2);
when(xenServer610Resource.getNetwork(conn, nicTO3)).thenReturn(nw3);
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(network);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private NicTO nicTO1; private NicTO nicTO2; private NicTO nicTO3;
@BeforeEach
public void setUp() {
nicTO1 = mock(NicTO.class); nicTO2 = mock(NicTO.class); nicTO3 = mock(NicTO.class);
}
nicTO1; nicTO2; nicTO3;
Test Case ID #cloudstack_Test_102_3
Test Case Name: testMigrateWithStorageSendCommandNetException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: nic1
Suggested Diff
@@
+ // Cannot refactor mock `nic1`: ambiguous mapping for new variable name
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommandNetException() {
final String vmName = "small";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
Gson gson = new Gson();
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, new String("a")));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, new String("b")));
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private NicTO nicTO1; private NicTO nicTO2; private NicTO nicTO3;
@BeforeEach
public void setUp() {
nicTO1 = mock(NicTO.class); nicTO2 = mock(NicTO.class); nicTO3 = mock(NicTO.class);
}
nicTO1; nicTO2; nicTO3;
Mock Clone Instance #cloudstack_MCI_103
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.NicTO
- Test Case Count: 3
- MO Count: 3
Reusable Method
private NicTO nicTO2;
@BeforeEach
public void setUp() {
nicTO2 = Mockito.mock(NicTO.class);
}
nicTO2;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_103_1
Test Case Name: testMigrateWithStorageCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: nicTO2
Suggested Diff
@@
final NicTO nicTO1 = Mockito.mock(NicTO.class);
- final NicTO nicTO2 = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nicTO2`
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
@@
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
- verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
+ verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network networkForSm = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final MigrateWithStorageCommand migrateStorageCommand = new MigrateWithStorageCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
when(vol2.getPath()).thenReturn(path);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
when(xenServer610Resource.getVDIbyUuid(conn, storage1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, storage2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(networkForSm);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).prepareISO(conn, vmName, null, null);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private NicTO nicTO2;
@BeforeEach
public void setUp() {
nicTO2 = Mockito.mock(NicTO.class);
}
nicTO2;
Test Case ID #cloudstack_Test_103_2
Test Case Name: testMigrateWithStorageReceiveCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: nicTO2
Suggested Diff
@@
final NicTO nicTO1 = Mockito.mock(NicTO.class);
- final NicTO nicTO2 = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nicTO2`
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageReceiveCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final List<Pair<VolumeTO, String>> volumeToFiler = new ArrayList<>();
volumeToFiler.add(new Pair<>(vol1, storage1.getPath()));
volumeToFiler.add(new Pair<>(vol2, storage2.getPath()));
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network network = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final Network nw1 = Mockito.mock(Network.class);
final Network nw2 = Mockito.mock(Network.class);
final Network nw3 = Mockito.mock(Network.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final MigrateWithStorageReceiveCommand migrateStorageCommand = new MigrateWithStorageReceiveCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
try {
when(xenServer610Resource.getNetwork(conn, nicTO1)).thenReturn(nw1);
when(xenServer610Resource.getNetwork(conn, nicTO2)).thenReturn(nw2);
when(xenServer610Resource.getNetwork(conn, nicTO3)).thenReturn(nw3);
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(network);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private NicTO nicTO2;
@BeforeEach
public void setUp() {
nicTO2 = Mockito.mock(NicTO.class);
}
nicTO2;
Test Case ID #cloudstack_Test_103_3
Test Case Name: testMigrateWithStorageSendCommandNetException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: nic2
Suggested Diff
@@
final NicTO nic1 = Mockito.mock(NicTO.class);
- final NicTO nic2 = Mockito.mock(NicTO.class);
+ // removed local mock; replaced with global field `nicTO2`
Gson gson = new Gson();
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, new String("a")));
- nicToNetwork.add(new Pair<NicTO, Object>(nic2, new String("b")));
+ nicToNetwork.add(new Pair<NicTO, Object>(nicTO2, new String("b")));
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommandNetException() {
final String vmName = "small";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
Gson gson = new Gson();
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, new String("a")));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, new String("b")));
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private NicTO nicTO2;
@BeforeEach
public void setUp() {
nicTO2 = Mockito.mock(NicTO.class);
}
nicTO2;
Mock Clone Instance #cloudstack_MCI_104
- Scope: class level
- Mocked Class:
IPAddressDao
- Test Case Count: 11
- MO Count: 11
Reusable Method
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_104_1
Test Case Name: removePublicNetworkSubnetTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
assertTrue(tungstenService.removePublicNetworkSubnet(vlanVO));
verify(ipAddressDao, times(1)).unassignIpAddress(anyLong());
Original Test Code (click to expand)
@Test
public void removePublicNetworkSubnetTest() {
VlanVO vlanVO = mock(VlanVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer removeTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(removeTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
when(removeTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
assertTrue(tungstenService.removePublicNetworkSubnet(vlanVO));
verify(ipAddressDao, times(1)).unassignIpAddress(anyLong());
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Test Case ID #cloudstack_Test_104_2
Test Case Name: updateLoadBalancerTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
@@
Original Test Code (click to expand)
@Test
public void updateLoadBalancerTest() {
Network network = mock(Network.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
Network publicNetwork = mock(Network.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Test Case ID #cloudstack_Test_104_3
Test Case Name: createSharedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
- when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
+ when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
when(createTungstenSharedNetworkAnswer.getApiObjectBase()).thenReturn(apiObjectBase);
when(apiObjectBase.getQualifiedName()).thenReturn(List.of("network"));
when(tungstenProviderVO.getGateway()).thenReturn("192.168.100.1");
assertTrue(tungstenService.createSharedNetwork(network, vlan));
@@
Original Test Code (click to expand)
@Test
public void createSharedNetworkTest() {
Network network = mock(Network.class);
Vlan vlan = mock(Vlan.class);
AccountVO accountVO = mock(AccountVO.class);
TungstenAnswer createTungstenSharedNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer addNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
HostVO hostVO = mock(HostVO.class);
Answer answer = mock(Answer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
ApiObjectBase apiObjectBase = mock(ApiObjectBase.class);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createTungstenSharedNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(createTungstenSharedNetworkAnswer.getResult()).thenReturn(true);
when(addNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getCidr()).thenReturn("192.168.100.0/24");
when(vlan.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
when(vlan.getVlanGateway()).thenReturn("192.168.100.1");
when(vlan.getIp6Gateway()).thenReturn("fd00::1");
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(hostDao.findByPublicIp(anyString())).thenReturn(hostVO);
when(agentMgr.easySend(anyLong(), any(SetupTungstenVRouterCommand.class))).thenReturn(answer);
when(answer.getResult()).thenReturn(true);
when(vlan.getIp6Cidr()).thenReturn("fd00::1/64");
when(vlan.getIp6Range()).thenReturn("fd00::100-fd00::200");
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.1.150");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
when(createTungstenSharedNetworkAnswer.getApiObjectBase()).thenReturn(apiObjectBase);
when(apiObjectBase.getQualifiedName()).thenReturn(List.of("network"));
when(tungstenProviderVO.getGateway()).thenReturn("192.168.100.1");
assertTrue(tungstenService.createSharedNetwork(network, vlan));
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Test Case ID #cloudstack_Test_104_4
Test Case Name: applyLBRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleSuccessTest() {
User caller = mock(User.class);
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Test Case ID #cloudstack_Test_104_5
Test Case Name: applyLBRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(80);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Test Case ID #cloudstack_Test_104_6
Test Case Name: applyLBRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip1);
when(ip1.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip1 = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip1);
when(ip1.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Test Case ID #cloudstack_Test_104_7
Test Case Name: applyLBRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
List<LoadBalancingRule> loadBalancingRuleList = List.of(loadBalancingRule);
List<LoadBalancerVO> loadBalancerVOList = Arrays.asList(loadBalancerVO1, loadBalancerVO2);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Test Case ID #cloudstack_Test_104_8
Test Case Name: preparePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
@@
Original Test Code (click to expand)
@Test
public void preparePublicNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Test Case ID #cloudstack_Test_104_9
Test Case Name: releasePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
@@
Original Test Code (click to expand)
@Test
public void releasePublicNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Test Case ID #cloudstack_Test_104_10
Test Case Name: testImplementGuestNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new LogicalRouter(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, "192.168.1.100"));
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
when(tungstenService.allocateDnsIpAddress(any(Network.class), any(), anyString())).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
@@
Original Test Code (click to expand)
@Test
public void testImplementGuestNetwork() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getNetworkOfferingId()).thenReturn(1L);
when(network.getState()).thenReturn(Network.State.Implementing);
when(network.getDataCenterId()).thenReturn(2L);
when(network.getPhysicalNetworkId()).thenReturn(3L);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(network)).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new LogicalRouter(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, "192.168.1.100"));
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenService.allocateDnsIpAddress(any(Network.class), any(), anyString())).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), implemented.getBroadcastUri());
assertEquals("192.168.1.1", implemented.getGateway());
assertEquals("192.168.1.0/24", implemented.getCidr());
assertEquals(Networks.Mode.Dhcp, implemented.getMode());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, implemented.getBroadcastDomainType());
assertEquals(1L, implemented.getNetworkOfferingId());
assertEquals(Network.State.Implemented, implemented.getState());
assertEquals(2L, implemented.getDataCenterId());
assertEquals(3L, implemented.getPhysicalNetworkId().longValue());
assertFalse(implemented.isRedundant());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(SetTungstenNetworkGatewayCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Test Case ID #cloudstack_Test_104_11
Test Case Name: addPublicNetworkSubnetTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: ipAddressDao
Suggested Diff
@@
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
- when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
- when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
+ ipAddressDao = MockIPAddressDao.createMockIpAddressDao(ipAddressVO);
+ when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
assertTrue(tungstenService.addPublicNetworkSubnet(vlanVO));
}
Original Test Code (click to expand)
@Test
public void addPublicNetworkSubnetTest() {
VlanVO vlanVO = mock(VlanVO.class);
Network publicNetwork = mock(Network.class);
TungstenAnswer addTungstenNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addTungstenNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
when(vlanVO.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
when(vlanVO.getVlanGateway()).thenReturn("192.168.100.1");
when(vlanVO.getVlanNetmask()).thenReturn("255.255.255.0");
when(publicNetwork.getCidr()).thenReturn("192.168.100.0/24");
when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
assertTrue(tungstenService.addPublicNetworkSubnet(vlanVO));
}
Reusable Method for MCI (click to expand)
public class MockIPAddressDao {
public static IPAddressDao createMockIpAddressDao(IPAddressVO ipAddressVO) {
IPAddressDao ipAddressDao = mock(IPAddressDao.class);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
return ipAddressDao;
}
}
Mock Clone Instance #cloudstack_MCI_105
- Scope: method level
- Mocked Class:
com.cloud.network.RemoteAccessVpn
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static RemoteAccessVpn createMockRemoteAccessVpn(Long vpcId) {
RemoteAccessVpn remoteAccessVpn = Mockito.mock(RemoteAccessVpn.class);
when(remoteAccessVpn.getVpcId()).thenReturn(vpcId);
return remoteAccessVpn;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_105_1
Test Case Name: testApplyVpnUsers(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\element\VpcVirtualRouterElementTest.java)
Mock Object Variable Name: remoteAccessVpn
Suggested Diff
@@
final Vpc vpc = Mockito.mock(Vpc.class);
final DataCenterVO dataCenterVO = Mockito.mock(DataCenterVO.class);
- final RemoteAccessVpn remoteAccessVpn = Mockito.mock(RemoteAccessVpn.class);
final DomainRouterVO domainRouterVO1 = Mockito.mock(DomainRouterVO.class);
final DomainRouterVO domainRouterVO2 = Mockito.mock(DomainRouterVO.class);
final VpnUser vpnUser1 = Mockito.mock(VpnUser.class);
final VpnUser vpnUser2 = Mockito.mock(VpnUser.class);
final List<VpnUser> users = new ArrayList<VpnUser>();
users.add(vpnUser1);
users.add(vpnUser2);
final List<DomainRouterVO> routers = new ArrayList<DomainRouterVO>();
routers.add(domainRouterVO1);
routers.add(domainRouterVO2);
final Long vpcId = new Long(1l);
final Long zoneId = new Long(1l);
+ final RemoteAccessVpn remoteAccessVpn = createMockRemoteAccessVpn(vpcId);
- when(remoteAccessVpn.getVpcId()).thenReturn(vpcId);
when(_vpcRouterMgr.getVpcRouters(vpcId)).thenReturn(routers);
when(_entityMgr.findById(Vpc.class, vpcId)).thenReturn(vpc);
when(vpc.getZoneId()).thenReturn(zoneId);
when(_dcDao.findById(zoneId)).thenReturn(dataCenterVO);
when(networkTopologyContext.retrieveNetworkTopology(dataCenterVO)).thenReturn(advancedNetworkTopology);
@@
Original Test Code (click to expand)
@Test
public void testApplyVpnUsers() {
vpcVirtualRouterElement._vpcRouterMgr = _vpcRouterMgr;
final AdvancedNetworkTopology advancedNetworkTopology = Mockito.mock(AdvancedNetworkTopology.class);
final BasicNetworkTopology basicNetworkTopology = Mockito.mock(BasicNetworkTopology.class);
networkTopologyContext.setAdvancedNetworkTopology(advancedNetworkTopology);
networkTopologyContext.setBasicNetworkTopology(basicNetworkTopology);
networkTopologyContext.init();
final Vpc vpc = Mockito.mock(Vpc.class);
final DataCenterVO dataCenterVO = Mockito.mock(DataCenterVO.class);
final RemoteAccessVpn remoteAccessVpn = Mockito.mock(RemoteAccessVpn.class);
final DomainRouterVO domainRouterVO1 = Mockito.mock(DomainRouterVO.class);
final DomainRouterVO domainRouterVO2 = Mockito.mock(DomainRouterVO.class);
final VpnUser vpnUser1 = Mockito.mock(VpnUser.class);
final VpnUser vpnUser2 = Mockito.mock(VpnUser.class);
final List<VpnUser> users = new ArrayList<VpnUser>();
users.add(vpnUser1);
users.add(vpnUser2);
final List<DomainRouterVO> routers = new ArrayList<DomainRouterVO>();
routers.add(domainRouterVO1);
routers.add(domainRouterVO2);
final Long vpcId = new Long(1l);
final Long zoneId = new Long(1l);
when(remoteAccessVpn.getVpcId()).thenReturn(vpcId);
when(_vpcRouterMgr.getVpcRouters(vpcId)).thenReturn(routers);
when(_entityMgr.findById(Vpc.class, vpcId)).thenReturn(vpc);
when(vpc.getZoneId()).thenReturn(zoneId);
when(_dcDao.findById(zoneId)).thenReturn(dataCenterVO);
when(networkTopologyContext.retrieveNetworkTopology(dataCenterVO)).thenReturn(advancedNetworkTopology);
try {
when(advancedNetworkTopology.applyVpnUsers(remoteAccessVpn, users, domainRouterVO1)).thenReturn(new String[] { "user1", "user2" });
when(advancedNetworkTopology.applyVpnUsers(remoteAccessVpn, users, domainRouterVO2)).thenReturn(new String[] { "user3", "user4" });
} catch (final ResourceUnavailableException e) {
fail(e.getMessage());
}
try {
final String[] results = vpcVirtualRouterElement.applyVpnUsers(remoteAccessVpn, users);
assertNotNull(results);
assertEquals(results[0], "user1");
assertEquals(results[1], "user2");
assertEquals(results[2], "user3");
assertEquals(results[3], "user4");
} catch (final ResourceUnavailableException e) {
fail(e.getMessage());
}
verify(remoteAccessVpn, times(1)).getVpcId();
verify(vpc, times(1)).getZoneId();
verify(_dcDao, times(1)).findById(zoneId);
verify(networkTopologyContext, times(1)).retrieveNetworkTopology(dataCenterVO);
}
Reusable Method for MCI (click to expand)
private static RemoteAccessVpn createMockRemoteAccessVpn(Long vpcId) {
RemoteAccessVpn remoteAccessVpn = Mockito.mock(RemoteAccessVpn.class);
when(remoteAccessVpn.getVpcId()).thenReturn(vpcId);
return remoteAccessVpn;
}
Test Case ID #cloudstack_Test_105_2
Test Case Name: testApplyVpnUsersException2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\element\VpcVirtualRouterElementTest.java)
Mock Object Variable Name: remoteAccessVpn
Suggested Diff
@@
networkTopologyContext.setBasicNetworkTopology(basicNetworkTopology);
networkTopologyContext.init();
- final RemoteAccessVpn remoteAccessVpn = Mockito.mock(RemoteAccessVpn.class);
final List<VpnUser> users = new ArrayList<VpnUser>();
final Long vpcId = new Long(1l);
- when(remoteAccessVpn.getVpcId()).thenReturn(vpcId);
+ final RemoteAccessVpn remoteAccessVpn = createMockRemoteAccessVpn(vpcId);
when(_vpcRouterMgr.getVpcRouters(vpcId)).thenReturn(null);
try {
final String[] results = vpcVirtualRouterElement.applyVpnUsers(remoteAccessVpn, users);
assertNull(results);
} catch (final ResourceUnavailableException e) {
fail(e.getMessage());
}
verify(remoteAccessVpn, times(1)).getVpcId();
@@
Original Test Code (click to expand)
@Test
public void testApplyVpnUsersException2() {
vpcVirtualRouterElement._vpcRouterMgr = _vpcRouterMgr;
final AdvancedNetworkTopology advancedNetworkTopology = Mockito.mock(AdvancedNetworkTopology.class);
final BasicNetworkTopology basicNetworkTopology = Mockito.mock(BasicNetworkTopology.class);
networkTopologyContext.setAdvancedNetworkTopology(advancedNetworkTopology);
networkTopologyContext.setBasicNetworkTopology(basicNetworkTopology);
networkTopologyContext.init();
final RemoteAccessVpn remoteAccessVpn = Mockito.mock(RemoteAccessVpn.class);
final List<VpnUser> users = new ArrayList<VpnUser>();
final Long vpcId = new Long(1l);
when(remoteAccessVpn.getVpcId()).thenReturn(vpcId);
when(_vpcRouterMgr.getVpcRouters(vpcId)).thenReturn(null);
try {
final String[] results = vpcVirtualRouterElement.applyVpnUsers(remoteAccessVpn, users);
assertNull(results);
} catch (final ResourceUnavailableException e) {
fail(e.getMessage());
}
verify(remoteAccessVpn, times(1)).getVpcId();
}
Reusable Method for MCI (click to expand)
private static RemoteAccessVpn createMockRemoteAccessVpn(Long vpcId) {
RemoteAccessVpn remoteAccessVpn = Mockito.mock(RemoteAccessVpn.class);
when(remoteAccessVpn.getVpcId()).thenReturn(vpcId);
return remoteAccessVpn;
}
Mock Clone Instance #cloudstack_MCI_106
- Scope: method level
- Mocked Class:
GenericSearchBuilder<AutoScalePolicyConditionMapVO,Long>
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static <T> GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> createMockGenericSearchBuilder(SearchCriteria<Long> searchCriteriaMock, AutoScalePolicyConditionMapVO autoScalePolicyConditionMapVOMock) {
GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> searchBuilderMock = Mockito.mock(GenericSearchBuilder.class);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(searchBuilderMock.entity()).thenReturn(autoScalePolicyConditionMapVOMock);
return searchBuilderMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_106_1
Test Case Name: testUpdateCondition(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: searchBuilderMock
Suggested Diff
@@
public void testUpdateCondition() throws ResourceInUseException {
- GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> searchBuilderMock = Mockito.mock(GenericSearchBuilder.class);
SearchCriteria<Long> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
+ GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> searchBuilderMock = createMockGenericSearchBuilder(searchCriteriaMock, autoScalePolicyConditionMapVOMock);
Mockito.doReturn(searchBuilderMock).when(autoScalePolicyConditionMapDao).createSearchBuilder(any());
- when(searchBuilderMock.entity()).thenReturn(autoScalePolicyConditionMapVOMock);
- Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
Mockito.doReturn(Arrays.asList()).when(autoScalePolicyConditionMapDao).customSearch(searchCriteriaMock, null);
when(conditionDao.update(eq(conditionId), any())).thenReturn(true);
UpdateConditionCmd cmd = new UpdateConditionCmd();
ReflectionTestUtils.setField(cmd, "id", conditionId);
ReflectionTestUtils.setField(cmd, "relationalOperator", String.valueOf(relationalOperator));
ReflectionTestUtils.setField(cmd, "threshold", 100L);
Condition condition = autoScaleManagerImplSpy.updateCondition(cmd);
Assert.assertEquals(conditionMock, condition);
Mockito.verify(conditionDao).update(eq(conditionId), Mockito.any());
@@
Original Test Code (click to expand)
@Test
public void testUpdateCondition() throws ResourceInUseException {
GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> searchBuilderMock = Mockito.mock(GenericSearchBuilder.class);
SearchCriteria<Long> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
Mockito.doReturn(searchBuilderMock).when(autoScalePolicyConditionMapDao).createSearchBuilder(any());
when(searchBuilderMock.entity()).thenReturn(autoScalePolicyConditionMapVOMock);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
Mockito.doReturn(Arrays.asList()).when(autoScalePolicyConditionMapDao).customSearch(searchCriteriaMock, null);
when(conditionDao.update(eq(conditionId), any())).thenReturn(true);
UpdateConditionCmd cmd = new UpdateConditionCmd();
ReflectionTestUtils.setField(cmd, "id", conditionId);
ReflectionTestUtils.setField(cmd, "relationalOperator", String.valueOf(relationalOperator));
ReflectionTestUtils.setField(cmd, "threshold", 100L);
Condition condition = autoScaleManagerImplSpy.updateCondition(cmd);
Assert.assertEquals(conditionMock, condition);
Mockito.verify(conditionDao).update(eq(conditionId), Mockito.any());
}
Reusable Method for MCI (click to expand)
private static <T> GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> createMockGenericSearchBuilder(SearchCriteria<Long> searchCriteriaMock, AutoScalePolicyConditionMapVO autoScalePolicyConditionMapVOMock) {
GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> searchBuilderMock = Mockito.mock(GenericSearchBuilder.class);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(searchBuilderMock.entity()).thenReturn(autoScalePolicyConditionMapVOMock);
return searchBuilderMock;
}
Test Case ID #cloudstack_Test_106_2
Test Case Name: testUpdateConditionWithPolicies(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: genericSearchBuilderMock
Suggested Diff
@@
@Test(expected = ResourceInUseException.class)
public void testUpdateConditionWithPolicies() throws ResourceInUseException {
- GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> genericSearchBuilderMock = Mockito.mock(GenericSearchBuilder.class);
SearchCriteria<Long> searchCriteriaLongMock = Mockito.mock(SearchCriteria.class);
+ GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> genericSearchBuilderMock = createMockGenericSearchBuilder(searchCriteriaLongMock, autoScalePolicyConditionMapVOMock);
Mockito.doReturn(genericSearchBuilderMock).when(autoScalePolicyConditionMapDao).createSearchBuilder(Long.class);
- when(genericSearchBuilderMock.entity()).thenReturn(autoScalePolicyConditionMapVOMock);
- Mockito.doReturn(searchCriteriaLongMock).when(genericSearchBuilderMock).create();
Mockito.doReturn(Arrays.asList(scaleUpPolicyId)).when(autoScalePolicyConditionMapDao).customSearch(searchCriteriaLongMock, null);
SearchBuilder<AutoScaleVmGroupPolicyMapVO> searchBuilderMock1 = Mockito.mock(SearchBuilder.class);
Mockito.doReturn(searchBuilderMock1).when(autoScaleVmGroupPolicyMapDao).createSearchBuilder();
when(searchBuilderMock1.entity()).thenReturn(autoScaleVmGroupPolicyMapVOMock);
SearchBuilder<AutoScaleVmGroupVO> searchBuilderMock2 = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScaleVmGroupVO> searchCriteriaMock2 = Mockito.mock(SearchCriteria.class);
Mockito.doReturn(searchBuilderMock2).when(autoScaleVmGroupDao).createSearchBuilder();
when(searchBuilderMock2.entity()).thenReturn(asVmGroupMock);
Mockito.doReturn(searchCriteriaMock2).when(searchBuilderMock2).create();
Mockito.doReturn(Arrays.asList(asVmGroupMock)).when(autoScaleVmGroupDao).search(searchCriteriaMock2, null);
UpdateConditionCmd cmd = new UpdateConditionCmd();
ReflectionTestUtils.setField(cmd, "id", conditionId);
ReflectionTestUtils.setField(cmd, "relationalOperator", String.valueOf(relationalOperator));
ReflectionTestUtils.setField(cmd, "threshold", 100L);
Condition condition = autoScaleManagerImplSpy.updateCondition(cmd);
Mockito.verify(conditionDao, never()).update(eq(conditionId), Mockito.any());
}
@@
Original Test Code (click to expand)
@Test(expected = ResourceInUseException.class)
public void testUpdateConditionWithPolicies() throws ResourceInUseException {
GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> genericSearchBuilderMock = Mockito.mock(GenericSearchBuilder.class);
SearchCriteria<Long> searchCriteriaLongMock = Mockito.mock(SearchCriteria.class);
Mockito.doReturn(genericSearchBuilderMock).when(autoScalePolicyConditionMapDao).createSearchBuilder(Long.class);
when(genericSearchBuilderMock.entity()).thenReturn(autoScalePolicyConditionMapVOMock);
Mockito.doReturn(searchCriteriaLongMock).when(genericSearchBuilderMock).create();
Mockito.doReturn(Arrays.asList(scaleUpPolicyId)).when(autoScalePolicyConditionMapDao).customSearch(searchCriteriaLongMock, null);
SearchBuilder<AutoScaleVmGroupPolicyMapVO> searchBuilderMock1 = Mockito.mock(SearchBuilder.class);
Mockito.doReturn(searchBuilderMock1).when(autoScaleVmGroupPolicyMapDao).createSearchBuilder();
when(searchBuilderMock1.entity()).thenReturn(autoScaleVmGroupPolicyMapVOMock);
SearchBuilder<AutoScaleVmGroupVO> searchBuilderMock2 = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScaleVmGroupVO> searchCriteriaMock2 = Mockito.mock(SearchCriteria.class);
Mockito.doReturn(searchBuilderMock2).when(autoScaleVmGroupDao).createSearchBuilder();
when(searchBuilderMock2.entity()).thenReturn(asVmGroupMock);
Mockito.doReturn(searchCriteriaMock2).when(searchBuilderMock2).create();
Mockito.doReturn(Arrays.asList(asVmGroupMock)).when(autoScaleVmGroupDao).search(searchCriteriaMock2, null);
UpdateConditionCmd cmd = new UpdateConditionCmd();
ReflectionTestUtils.setField(cmd, "id", conditionId);
ReflectionTestUtils.setField(cmd, "relationalOperator", String.valueOf(relationalOperator));
ReflectionTestUtils.setField(cmd, "threshold", 100L);
Condition condition = autoScaleManagerImplSpy.updateCondition(cmd);
Mockito.verify(conditionDao, never()).update(eq(conditionId), Mockito.any());
}
Reusable Method for MCI (click to expand)
private static <T> GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> createMockGenericSearchBuilder(SearchCriteria<Long> searchCriteriaMock, AutoScalePolicyConditionMapVO autoScalePolicyConditionMapVOMock) {
GenericSearchBuilder<AutoScalePolicyConditionMapVO, Long> searchBuilderMock = Mockito.mock(GenericSearchBuilder.class);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(searchBuilderMock.entity()).thenReturn(autoScalePolicyConditionMapVOMock);
return searchBuilderMock;
}
Mock Clone Instance #cloudstack_MCI_107
- Scope: class level
- Mocked Class:
java.io.File
- Test Case Count: 2
- MO Count: 6
Reusable Method
public class MockFile {
public static File createMockFile(long lengthReturn) {
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(lengthReturn);
return mockFile;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_107_1
Test Case Name: testGetVirtualSizeWhenVirtualSizeThrowsException(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\OVAProcessorTest.java)
Mock Object Variable Name: mockFile
Suggested Diff
@@
long virtualSize = 2000;
long actualSize = 1000;
String templatePath = "/tmp";
String templateName = "template";
- File mockFile = Mockito.mock(File.class);
- Mockito.when(mockFile.length()).thenReturn(actualSize);
- Mockito.when(mockFile.getParent()).thenReturn(templatePath);
- Mockito.when(mockFile.getName()).thenReturn(templateName);
+ File mockFile = MockFile.createMockFile(actualSize);
+ Mockito.when(mockFile.getParent()).thenReturn(templatePath);
+ Mockito.when(mockFile.getName()).thenReturn(templateName);
Mockito.doThrow(new InternalErrorException("virtual size calculation failed")).when(processor).getTemplateVirtualSize(templatePath, templateName);
Assert.assertEquals(actualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(1)).length();
@@
Original Test Code (click to expand)
@Test
public void testGetVirtualSizeWhenVirtualSizeThrowsException() throws Exception {
long virtualSize = 2000;
long actualSize = 1000;
String templatePath = "/tmp";
String templateName = "template";
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(actualSize);
Mockito.when(mockFile.getParent()).thenReturn(templatePath);
Mockito.when(mockFile.getName()).thenReturn(templateName);
Mockito.doThrow(new InternalErrorException("virtual size calculation failed")).when(processor).getTemplateVirtualSize(templatePath, templateName);
Assert.assertEquals(actualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(1)).length();
}
Reusable Method for MCI (click to expand)
public class MockFile {
public static File createMockFile(long lengthReturn) {
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(lengthReturn);
return mockFile;
}
}
Test Case ID #cloudstack_Test_107_2
Test Case Name: testGetVirtualSize(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\OVAProcessorTest.java)
Mock Object Variable Name: mockFile
Suggested Diff
@@
long virtualSize = 2000;
long actualSize = 1000;
String templatePath = "/tmp";
String templateName = "template";
- File mockFile = Mockito.mock(File.class);
- Mockito.when(mockFile.length()).thenReturn(actualSize);
- Mockito.when(mockFile.getParent()).thenReturn(templatePath);
- Mockito.when(mockFile.getName()).thenReturn(templateName);
+ File mockFile = MockFile.createMockFile(actualSize);
+ Mockito.when(mockFile.getParent()).thenReturn(templatePath);
+ Mockito.when(mockFile.getName()).thenReturn(templateName);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize(templatePath, templateName);
Assert.assertEquals(virtualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(0)).length();
@@
Original Test Code (click to expand)
@Test
public void testGetVirtualSize() throws Exception {
long virtualSize = 2000;
long actualSize = 1000;
String templatePath = "/tmp";
String templateName = "template";
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(actualSize);
Mockito.when(mockFile.getParent()).thenReturn(templatePath);
Mockito.when(mockFile.getName()).thenReturn(templateName);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize(templatePath, templateName);
Assert.assertEquals(virtualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(0)).length();
}
Reusable Method for MCI (click to expand)
public class MockFile {
public static File createMockFile(long lengthReturn) {
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(lengthReturn);
return mockFile;
}
}
Test Case ID #cloudstack_Test_107_3
Test Case Name: testGetVirtualSizeWhenVirtualSizeThrowsException(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\QCOW2ProcessorTest.java)
Mock Object Variable Name: mockFile
Suggested Diff
@@
long virtualSize = 2000;
long actualSize = 1000;
- File mockFile = Mockito.mock(File.class);
- Mockito.when(mockFile.length()).thenReturn(actualSize);
+ File mockFile = MockFile.createMockFile(actualSize);
Mockito.doThrow(new IOException("virtual size calculation failed")).when(processor).getTemplateVirtualSize((File) Mockito.any());
Assert.assertEquals(actualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(1)).length();
@@
Original Test Code (click to expand)
@Test
public void testGetVirtualSizeWhenVirtualSizeThrowsException() throws Exception {
long virtualSize = 2000;
long actualSize = 1000;
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(actualSize);
Mockito.doThrow(new IOException("virtual size calculation failed")).when(processor).getTemplateVirtualSize((File) Mockito.any());
Assert.assertEquals(actualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(1)).length();
}
Reusable Method for MCI (click to expand)
public class MockFile {
public static File createMockFile(long lengthReturn) {
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(lengthReturn);
return mockFile;
}
}
Test Case ID #cloudstack_Test_107_4
Test Case Name: testGetVirtualSize(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\QCOW2ProcessorTest.java)
Mock Object Variable Name: mockFile
Suggested Diff
@@
long virtualSize = 2000;
long actualSize = 1000;
- File mockFile = Mockito.mock(File.class);
- Mockito.when(mockFile.length()).thenReturn(actualSize);
+ File mockFile = MockFile.createMockFile(actualSize);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize((File) Mockito.any());
Assert.assertEquals(virtualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(0)).length();
@@
Original Test Code (click to expand)
@Test
public void testGetVirtualSize() throws Exception {
long virtualSize = 2000;
long actualSize = 1000;
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(actualSize);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize((File) Mockito.any());
Assert.assertEquals(virtualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(0)).length();
}
Reusable Method for MCI (click to expand)
public class MockFile {
public static File createMockFile(long lengthReturn) {
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(lengthReturn);
return mockFile;
}
}
Test Case ID #cloudstack_Test_107_5
Test Case Name: testGetVirtualSizeWhenVirtualSizeThrowsException(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\VhdProcessorTest.java)
Mock Object Variable Name: mockFile
Suggested Diff
@@
long virtualSize = 2000;
long actualSize = 1000;
- File mockFile = Mockito.mock(File.class);
- Mockito.when(mockFile.length()).thenReturn(actualSize);
+ File mockFile = MockFile.createMockFile(actualSize);
Mockito.doThrow(new IOException("virtual size calculation failed")).when(processor).getTemplateVirtualSize((File) Mockito.any());
Assert.assertEquals(actualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(1)).length();
@@
Original Test Code (click to expand)
@Test
public void testGetVirtualSizeWhenVirtualSizeThrowsException() throws Exception {
long virtualSize = 2000;
long actualSize = 1000;
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(actualSize);
Mockito.doThrow(new IOException("virtual size calculation failed")).when(processor).getTemplateVirtualSize((File) Mockito.any());
Assert.assertEquals(actualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(1)).length();
}
Reusable Method for MCI (click to expand)
public class MockFile {
public static File createMockFile(long lengthReturn) {
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(lengthReturn);
return mockFile;
}
}
Test Case ID #cloudstack_Test_107_6
Test Case Name: testGetVirtualSize(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\VhdProcessorTest.java)
Mock Object Variable Name: mockFile
Suggested Diff
@@
long virtualSize = 2000;
long actualSize = 1000;
- File mockFile = Mockito.mock(File.class);
- Mockito.when(mockFile.length()).thenReturn(actualSize);
+ File mockFile = MockFile.createMockFile(actualSize);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize((File) Mockito.any());
Assert.assertEquals(virtualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(0)).length();
@@
Original Test Code (click to expand)
@Test
public void testGetVirtualSize() throws Exception {
long virtualSize = 2000;
long actualSize = 1000;
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(actualSize);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize((File) Mockito.any());
Assert.assertEquals(virtualSize, processor.getVirtualSize(mockFile));
Mockito.verify(mockFile, Mockito.times(0)).length();
}
Reusable Method for MCI (click to expand)
public class MockFile {
public static File createMockFile(long lengthReturn) {
File mockFile = Mockito.mock(File.class);
Mockito.when(mockFile.length()).thenReturn(lengthReturn);
return mockFile;
}
}
Mock Clone Instance #cloudstack_MCI_108
- Scope: method level
- Mocked Class:
java.io.File
- Test Case Count: 8
- MO Count: 11
Reusable Method
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_108_1
Test Case Name: writeVendorAndNetworkEmptyJsonFileTestCreatingFolder(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: folderFileMock
Suggested Diff
@@
PowerMockito.mockStatic(ConfigDriveBuilder.class);
- File folderFileMock = Mockito.mock(File.class);
- Mockito.doReturn(false).when(folderFileMock).exists();
- Mockito.doReturn(true).when(folderFileMock).mkdirs();
+ File folderFileMock = createMockFile(false);
+ Mockito.doReturn(true).when(folderFileMock).mkdirs();
//force execution of real method
Method writeVendorAndNetworkEmptyJsonFileMethod = getWriteVendorAndNetworkEmptyJsonFileMethod();
PowerMockito.when(ConfigDriveBuilder.class, writeVendorAndNetworkEmptyJsonFileMethod).withArguments(folderFileMock).thenCallRealMethod();
ConfigDriveBuilder.writeVendorAndNetworkEmptyJsonFile(folderFileMock);
Mockito.verify(folderFileMock).exists();
Mockito.verify(folderFileMock).mkdirs();
PowerMockito.verifyStatic(ConfigDriveBuilder.class);
ConfigDriveBuilder.writeFile(Mockito.any(File.class), Mockito.eq("vendor_data.json"), Mockito.eq("{}"));
ConfigDriveBuilder.writeFile(Mockito.any(File.class), Mockito.eq("network_data.json"), Mockito.eq("{}"));
@@
Original Test Code (click to expand)
@Test
@PrepareForTest({ ConfigDriveBuilder.class })
public void writeVendorAndNetworkEmptyJsonFileTestCreatingFolder() throws Exception {
PowerMockito.mockStatic(ConfigDriveBuilder.class);
File folderFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(folderFileMock).exists();
Mockito.doReturn(true).when(folderFileMock).mkdirs();
Method writeVendorAndNetworkEmptyJsonFileMethod = getWriteVendorAndNetworkEmptyJsonFileMethod();
PowerMockito.when(ConfigDriveBuilder.class, writeVendorAndNetworkEmptyJsonFileMethod).withArguments(folderFileMock).thenCallRealMethod();
ConfigDriveBuilder.writeVendorAndNetworkEmptyJsonFile(folderFileMock);
Mockito.verify(folderFileMock).exists();
Mockito.verify(folderFileMock).mkdirs();
PowerMockito.verifyStatic(ConfigDriveBuilder.class);
ConfigDriveBuilder.writeFile(Mockito.any(File.class), Mockito.eq("vendor_data.json"), Mockito.eq("{}"));
ConfigDriveBuilder.writeFile(Mockito.any(File.class), Mockito.eq("network_data.json"), Mockito.eq("{}"));
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Test Case ID #cloudstack_Test_108_2
Test Case Name: linkUserDataTestUserDataFilePathDoesNotExist(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: fileMock
Suggested Diff
@@
public void linkUserDataTestUserDataFilePathDoesNotExist() throws Exception {
- File fileMock = Mockito.mock(File.class);
- Mockito.doReturn(false).when(fileMock).exists();
+ File fileMock = createMockFile(false);
PowerMockito.mockStatic(File.class, Script.class);
PowerMockito.whenNew(File.class).withArguments(Mockito.anyString()).thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
ConfigDriveBuilder.linkUserData("test");
Mockito.verify(scriptMock, times(0)).execute();
}
Original Test Code (click to expand)
@Test
@PrepareForTest({ File.class, Script.class, ConfigDriveBuilder.class })
public void linkUserDataTestUserDataFilePathDoesNotExist() throws Exception {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(fileMock).exists();
PowerMockito.mockStatic(File.class, Script.class);
PowerMockito.whenNew(File.class).withArguments(Mockito.anyString()).thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
ConfigDriveBuilder.linkUserData("test");
Mockito.verify(scriptMock, times(0)).execute();
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Test Case ID #cloudstack_Test_108_3
Test Case Name: linkUserDataTestUserDataFilePathExistAndExecutionPresentedSomeError(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: fileMock
Suggested Diff
@@
public void linkUserDataTestUserDataFilePathExistAndExecutionPresentedSomeError() throws Exception {
- File fileMock = Mockito.mock(File.class);
- Mockito.doReturn(true).when(fileMock).exists();
+ File fileMock = createMockFile(true);
PowerMockito.mockStatic(File.class, Script.class);
PowerMockito.whenNew(File.class).withArguments(Mockito.anyString()).thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn("message").when(scriptMock).execute();
ConfigDriveBuilder.linkUserData("test");
}
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
@PrepareForTest({ File.class, Script.class, ConfigDriveBuilder.class })
public void linkUserDataTestUserDataFilePathExistAndExecutionPresentedSomeError() throws Exception {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(fileMock).exists();
PowerMockito.mockStatic(File.class, Script.class);
PowerMockito.whenNew(File.class).withArguments(Mockito.anyString()).thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn("message").when(scriptMock).execute();
ConfigDriveBuilder.linkUserData("test");
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Test Case ID #cloudstack_Test_108_4
Test Case Name: linkUserDataTest(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: fileMock
Suggested Diff
@@
public void linkUserDataTest() throws Exception {
- File fileMock = Mockito.mock(File.class);
- Mockito.doReturn(true).when(fileMock).exists();
+ File fileMock = createMockFile(true);
PowerMockito.mockStatic(File.class, Script.class);
PowerMockito.whenNew(File.class).withArguments(Mockito.anyString()).thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
String tempDirName = "test";
ConfigDriveBuilder.linkUserData(tempDirName);
Mockito.verify(scriptMock).add(tempDirName + ConfigDrive.cloudStackConfigDriveName + "userdata/user_data.txt");
Mockito.verify(scriptMock).add(tempDirName + ConfigDrive.openStackConfigDriveName + "user_data");
Mockito.verify(scriptMock).execute();
}
Original Test Code (click to expand)
@Test
@PrepareForTest({ File.class, Script.class, ConfigDriveBuilder.class })
public void linkUserDataTest() throws Exception {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(fileMock).exists();
PowerMockito.mockStatic(File.class, Script.class);
PowerMockito.whenNew(File.class).withArguments(Mockito.anyString()).thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
String tempDirName = "test";
ConfigDriveBuilder.linkUserData(tempDirName);
Mockito.verify(scriptMock).add(tempDirName + ConfigDrive.cloudStackConfigDriveName + "userdata/user_data.txt");
Mockito.verify(scriptMock).add(tempDirName + ConfigDrive.openStackConfigDriveName + "user_data");
Mockito.verify(scriptMock).execute();
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Test Case ID #cloudstack_Test_108_5
Test Case Name: getProgramToGenerateIsoTestGenIsoExistsAndIsExecutable(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: genIsoFileMock
Suggested Diff
@@
PowerMockito.mockStatic(File.class);
- File genIsoFileMock = Mockito.mock(File.class);
- Mockito.doReturn(true).when(genIsoFileMock).exists();
- Mockito.doReturn(true).when(genIsoFileMock).canExecute();
+ File genIsoFileMock = createMockFile(true);
+ Mockito.doReturn(true).when(genIsoFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(2)).exists();
Mockito.verify(genIsoFileMock).canExecute();
Mockito.verify(genIsoFileMock).getCanonicalPath();
@@
Original Test Code (click to expand)
@Test
@PrepareForTest({ File.class, ConfigDriveBuilder.class })
public void getProgramToGenerateIsoTestGenIsoExistsAndIsExecutable() throws Exception {
PowerMockito.mockStatic(File.class);
File genIsoFileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(genIsoFileMock).exists();
Mockito.doReturn(true).when(genIsoFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(2)).exists();
Mockito.verify(genIsoFileMock).canExecute();
Mockito.verify(genIsoFileMock).getCanonicalPath();
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Test Case ID #cloudstack_Test_108_6
Test Case Name: getProgramToGenerateIsoTestGenIsoExistsbutNotExecutable(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: genIsoFileMock
Suggested Diff
@@
PowerMockito.mockStatic(File.class);
- File genIsoFileMock = Mockito.mock(File.class);
- Mockito.doReturn(true).when(genIsoFileMock).exists();
+ File genIsoFileMock = createMockFile(true);
Mockito.doReturn(false).when(genIsoFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
@PrepareForTest({ File.class, ConfigDriveBuilder.class })
public void getProgramToGenerateIsoTestGenIsoExistsbutNotExecutable() throws Exception {
PowerMockito.mockStatic(File.class);
File genIsoFileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(genIsoFileMock).exists();
Mockito.doReturn(false).when(genIsoFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Test Case ID #cloudstack_Test_108_7
Test Case Name: getProgramToGenerateIsoTestNotGenIsoMkIsoInLinux(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: genIsoFileMock
Suggested Diff
@@
PowerMockito.mockStatic(File.class);
- File genIsoFileMock = Mockito.mock(File.class);
- Mockito.doReturn(false).when(genIsoFileMock).exists();
+ File genIsoFileMock = createMockFile(false);
File mkIsoProgramInLinuxFileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(mkIsoProgramInLinuxFileMock).exists();
Mockito.doReturn(true).when(mkIsoProgramInLinuxFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/bin/mkisofs").thenReturn(mkIsoProgramInLinuxFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(1)).exists();
Mockito.verify(genIsoFileMock, Mockito.times(0)).canExecute();
Mockito.verify(genIsoFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(2)).exists();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).canExecute();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).getCanonicalPath();
@@
Original Test Code (click to expand)
@Test
@PrepareForTest({ File.class, ConfigDriveBuilder.class })
public void getProgramToGenerateIsoTestNotGenIsoMkIsoInLinux() throws Exception {
PowerMockito.mockStatic(File.class);
File genIsoFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(genIsoFileMock).exists();
File mkIsoProgramInLinuxFileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(mkIsoProgramInLinuxFileMock).exists();
Mockito.doReturn(true).when(mkIsoProgramInLinuxFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/bin/mkisofs").thenReturn(mkIsoProgramInLinuxFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(1)).exists();
Mockito.verify(genIsoFileMock, Mockito.times(0)).canExecute();
Mockito.verify(genIsoFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(2)).exists();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).canExecute();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).getCanonicalPath();
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Test Case ID #cloudstack_Test_108_8
Test Case Name: getProgramToGenerateIsoTestNotGenIsoMkIsoInLinux(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: mkIsoProgramInLinuxFileMock
Suggested Diff
@@
File genIsoFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(genIsoFileMock).exists();
- File mkIsoProgramInLinuxFileMock = Mockito.mock(File.class);
- Mockito.doReturn(true).when(mkIsoProgramInLinuxFileMock).exists();
- Mockito.doReturn(true).when(mkIsoProgramInLinuxFileMock).canExecute();
+ File mkIsoProgramInLinuxFileMock = createMockFile(true);
+ Mockito.doReturn(true).when(mkIsoProgramInLinuxFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/bin/mkisofs").thenReturn(mkIsoProgramInLinuxFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(1)).exists();
Mockito.verify(genIsoFileMock, Mockito.times(0)).canExecute();
Mockito.verify(genIsoFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(2)).exists();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).canExecute();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).getCanonicalPath();
@@
Original Test Code (click to expand)
@Test
@PrepareForTest({ File.class, ConfigDriveBuilder.class })
public void getProgramToGenerateIsoTestNotGenIsoMkIsoInLinux() throws Exception {
PowerMockito.mockStatic(File.class);
File genIsoFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(genIsoFileMock).exists();
File mkIsoProgramInLinuxFileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(mkIsoProgramInLinuxFileMock).exists();
Mockito.doReturn(true).when(mkIsoProgramInLinuxFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/bin/mkisofs").thenReturn(mkIsoProgramInLinuxFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(1)).exists();
Mockito.verify(genIsoFileMock, Mockito.times(0)).canExecute();
Mockito.verify(genIsoFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(2)).exists();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).canExecute();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).getCanonicalPath();
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Test Case ID #cloudstack_Test_108_9
Test Case Name: getProgramToGenerateIsoTestMkIsoMac(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: genIsoFileMock
Suggested Diff
@@
PowerMockito.mockStatic(File.class);
- File genIsoFileMock = Mockito.mock(File.class);
- Mockito.doReturn(false).when(genIsoFileMock).exists();
+ File genIsoFileMock = createMockFile(false);
File mkIsoProgramInLinuxFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(mkIsoProgramInLinuxFileMock).exists();
File mkIsoProgramInMacOsFileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).exists();
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/bin/mkisofs").thenReturn(mkIsoProgramInLinuxFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/local/bin/mkisofs").thenReturn(mkIsoProgramInMacOsFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(1)).exists();
Mockito.verify(genIsoFileMock, Mockito.times(0)).canExecute();
Mockito.verify(genIsoFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).exists();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(0)).canExecute();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).exists();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).canExecute();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).getCanonicalPath();
@@
Original Test Code (click to expand)
@Test
@PrepareForTest({ File.class, ConfigDriveBuilder.class })
public void getProgramToGenerateIsoTestMkIsoMac() throws Exception {
PowerMockito.mockStatic(File.class);
File genIsoFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(genIsoFileMock).exists();
File mkIsoProgramInLinuxFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(mkIsoProgramInLinuxFileMock).exists();
File mkIsoProgramInMacOsFileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).exists();
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/bin/mkisofs").thenReturn(mkIsoProgramInLinuxFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/local/bin/mkisofs").thenReturn(mkIsoProgramInMacOsFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(1)).exists();
Mockito.verify(genIsoFileMock, Mockito.times(0)).canExecute();
Mockito.verify(genIsoFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).exists();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(0)).canExecute();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).exists();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).canExecute();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).getCanonicalPath();
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Test Case ID #cloudstack_Test_108_10
Test Case Name: getProgramToGenerateIsoTestMkIsoMac(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: mkIsoProgramInLinuxFileMock
Suggested Diff
@@
File genIsoFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(genIsoFileMock).exists();
- File mkIsoProgramInLinuxFileMock = Mockito.mock(File.class);
- Mockito.doReturn(false).when(mkIsoProgramInLinuxFileMock).exists();
+ File mkIsoProgramInLinuxFileMock = createMockFile(false);
File mkIsoProgramInMacOsFileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).exists();
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/bin/mkisofs").thenReturn(mkIsoProgramInLinuxFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/local/bin/mkisofs").thenReturn(mkIsoProgramInMacOsFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(1)).exists();
Mockito.verify(genIsoFileMock, Mockito.times(0)).canExecute();
Mockito.verify(genIsoFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).exists();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(0)).canExecute();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).exists();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).canExecute();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).getCanonicalPath();
@@
Original Test Code (click to expand)
@Test
@PrepareForTest({ File.class, ConfigDriveBuilder.class })
public void getProgramToGenerateIsoTestMkIsoMac() throws Exception {
PowerMockito.mockStatic(File.class);
File genIsoFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(genIsoFileMock).exists();
File mkIsoProgramInLinuxFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(mkIsoProgramInLinuxFileMock).exists();
File mkIsoProgramInMacOsFileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).exists();
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/bin/mkisofs").thenReturn(mkIsoProgramInLinuxFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/local/bin/mkisofs").thenReturn(mkIsoProgramInMacOsFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(1)).exists();
Mockito.verify(genIsoFileMock, Mockito.times(0)).canExecute();
Mockito.verify(genIsoFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).exists();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(0)).canExecute();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).exists();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).canExecute();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).getCanonicalPath();
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Test Case ID #cloudstack_Test_108_11
Test Case Name: getProgramToGenerateIsoTestMkIsoMac(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: mkIsoProgramInMacOsFileMock
Suggested Diff
@@
File mkIsoProgramInLinuxFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(mkIsoProgramInLinuxFileMock).exists();
- File mkIsoProgramInMacOsFileMock = Mockito.mock(File.class);
- Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).exists();
+ File mkIsoProgramInMacOsFileMock = createMockFile(true);
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
@@
Original Test Code (click to expand)
@Test
@PrepareForTest({ File.class, ConfigDriveBuilder.class })
public void getProgramToGenerateIsoTestMkIsoMac() throws Exception {
PowerMockito.mockStatic(File.class);
File genIsoFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(genIsoFileMock).exists();
File mkIsoProgramInLinuxFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(mkIsoProgramInLinuxFileMock).exists();
File mkIsoProgramInMacOsFileMock = Mockito.mock(File.class);
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).exists();
Mockito.doReturn(true).when(mkIsoProgramInMacOsFileMock).canExecute();
PowerMockito.whenNew(File.class).withArguments("/usr/bin/genisoimage").thenReturn(genIsoFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/bin/mkisofs").thenReturn(mkIsoProgramInLinuxFileMock);
PowerMockito.whenNew(File.class).withArguments("/usr/local/bin/mkisofs").thenReturn(mkIsoProgramInMacOsFileMock);
ConfigDriveBuilder.getProgramToGenerateIso();
Mockito.verify(genIsoFileMock, Mockito.times(1)).exists();
Mockito.verify(genIsoFileMock, Mockito.times(0)).canExecute();
Mockito.verify(genIsoFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(1)).exists();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(0)).canExecute();
Mockito.verify(mkIsoProgramInLinuxFileMock, Mockito.times(0)).getCanonicalPath();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).exists();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).canExecute();
Mockito.verify(mkIsoProgramInMacOsFileMock, Mockito.times(1)).getCanonicalPath();
}
Reusable Method for MCI (click to expand)
private static File createMockFile(boolean existsReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(existsReturn).when(fileMock).exists();
return fileMock;
}
Mock Clone Instance #cloudstack_MCI_109
- Scope: method level
- Mocked Class:
java.io.File
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static File createMockFileWithMkdirsReturningFalse() {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(fileMock).mkdirs();
return fileMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_109_1
Test Case Name: writeVendorAndNetworkEmptyJsonFileTestCannotCreateOpenStackFolder(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: folderFileMock
Suggested Diff
@@
@Test(expected = CloudRuntimeException.class)
public void writeVendorAndNetworkEmptyJsonFileTestCannotCreateOpenStackFolder() {
- File folderFileMock = Mockito.mock(File.class);
- Mockito.doReturn(false).when(folderFileMock).mkdirs();
+ File folderFileMock = createMockFileWithMkdirsReturningFalse();
ConfigDriveBuilder.writeVendorAndNetworkEmptyJsonFile(folderFileMock);
}
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void writeVendorAndNetworkEmptyJsonFileTestCannotCreateOpenStackFolder() {
File folderFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(folderFileMock).mkdirs();
ConfigDriveBuilder.writeVendorAndNetworkEmptyJsonFile(folderFileMock);
}
Reusable Method for MCI (click to expand)
private static File createMockFileWithMkdirsReturningFalse() {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(fileMock).mkdirs();
return fileMock;
}
Test Case ID #cloudstack_Test_109_2
Test Case Name: writeVendorAndNetworkEmptyJsonFileTest(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: folderFileMock
Suggested Diff
@@
@Test(expected = CloudRuntimeException.class)
public void writeVendorAndNetworkEmptyJsonFileTest() {
- File folderFileMock = Mockito.mock(File.class);
- Mockito.doReturn(false).when(folderFileMock).mkdirs();
+ File folderFileMock = createMockFileWithMkdirsReturningFalse();
ConfigDriveBuilder.writeVendorAndNetworkEmptyJsonFile(folderFileMock);
}
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void writeVendorAndNetworkEmptyJsonFileTest() {
File folderFileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(folderFileMock).mkdirs();
ConfigDriveBuilder.writeVendorAndNetworkEmptyJsonFile(folderFileMock);
}
Reusable Method for MCI (click to expand)
private static File createMockFileWithMkdirsReturningFalse() {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(false).when(fileMock).mkdirs();
return fileMock;
}
Mock Clone Instance #cloudstack_MCI_110
- Scope: method level
- Mocked Class:
java.io.File
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static File createMockFile(long lengthReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(lengthReturn).when(fileMock).length();
return fileMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_110_1
Test Case Name: generateAndRetrieveIsoAsBase64IsoTestIsoTooBig(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: fileMock
Suggested Diff
@@
PowerMockito.mockStatic(File.class, Script.class, ConfigDriveBuilder.class);
- File fileMock = Mockito.mock(File.class);
- PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(fileMock);
+ File fileMock = createMockFile(64L * 1024L * 1024L + 1l);
+ PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
- Mockito.doReturn(64L * 1024L * 1024L + 1l).when(fileMock).length();
Method method = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("generateAndRetrieveIsoAsBase64Iso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, method).withArguments(nullable(String.class), nullable(String.class), nullable(String.class)).thenCallRealMethod();
Method getProgramToGenerateIsoMethod = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("getProgramToGenerateIso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, getProgramToGenerateIsoMethod).withNoArguments().thenReturn("/usr/bin/genisoimage");
ConfigDriveBuilder.generateAndRetrieveIsoAsBase64Iso("isoFileName", "driveLabel", "tempDirName");
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test(expected = CloudRuntimeException.class)
@PrepareForTest({ File.class, Script.class, ConfigDriveBuilder.class })
public void generateAndRetrieveIsoAsBase64IsoTestIsoTooBig() throws Exception {
PowerMockito.mockStatic(File.class, Script.class, ConfigDriveBuilder.class);
File fileMock = Mockito.mock(File.class);
PowerMockito.whenNew(File.class).withAnyArguments().thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
Mockito.doReturn(64L * 1024L * 1024L + 1l).when(fileMock).length();
Method method = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("generateAndRetrieveIsoAsBase64Iso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, method).withArguments(nullable(String.class), nullable(String.class), nullable(String.class)).thenCallRealMethod();
Method getProgramToGenerateIsoMethod = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("getProgramToGenerateIso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, getProgramToGenerateIsoMethod).withNoArguments().thenReturn("/usr/bin/genisoimage");
ConfigDriveBuilder.generateAndRetrieveIsoAsBase64Iso("isoFileName", "driveLabel", "tempDirName");
}
Reusable Method for MCI (click to expand)
private static File createMockFile(long lengthReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(lengthReturn).when(fileMock).length();
return fileMock;
}
Test Case ID #cloudstack_Test_110_2
Test Case Name: generateAndRetrieveIsoAsBase64IsoTest(File: C:\Java_projects\Apache\cloudstack\engine\storage\configdrive\src\test\java\org\apache\cloudstack\storage\configdrive\ConfigDriveBuilderTest.java)
Mock Object Variable Name: fileMock
Suggested Diff
@@
PowerMockito.mockStatic(File.class, Script.class, ConfigDriveBuilder.class);
- File fileMock = Mockito.mock(File.class);
+ File fileMock = createMockFile(64L * 1024L * 1024L);
PowerMockito.whenNew(File.class).withArguments("tempDirName", "isoFileName").thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
- Mockito.when(fileMock.getAbsolutePath()).thenReturn("absolutePath");
Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
- Mockito.doReturn(64L * 1024L * 1024L).when(fileMock).length();
+ Mockito.when(fileMock.getAbsolutePath()).thenReturn("absolutePath");
Method method = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("generateAndRetrieveIsoAsBase64Iso")).iterator().next();
@@
Original Test Code (click to expand)
@Test
@SuppressWarnings("unchecked")
@PrepareForTest({ File.class, Script.class, ConfigDriveBuilder.class })
public void generateAndRetrieveIsoAsBase64IsoTest() throws Exception {
PowerMockito.mockStatic(File.class, Script.class, ConfigDriveBuilder.class);
File fileMock = Mockito.mock(File.class);
PowerMockito.whenNew(File.class).withArguments("tempDirName", "isoFileName").thenReturn(fileMock);
Script scriptMock = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(scriptMock);
Mockito.when(fileMock.getAbsolutePath()).thenReturn("absolutePath");
Mockito.doReturn(StringUtils.EMPTY).when(scriptMock).execute();
Mockito.doReturn(64L * 1024L * 1024L).when(fileMock).length();
Method method = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("generateAndRetrieveIsoAsBase64Iso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, method).withArguments(nullable(String.class), nullable(String.class), nullable(String.class)).thenCallRealMethod();
Method getProgramToGenerateIsoMethod = ReflectionUtils.getMethods(ConfigDriveBuilder.class, ReflectionUtils.withName("getProgramToGenerateIso")).iterator().next();
PowerMockito.when(ConfigDriveBuilder.class, getProgramToGenerateIsoMethod).withNoArguments().thenReturn("/usr/bin/genisoimage");
ConfigDriveBuilder.generateAndRetrieveIsoAsBase64Iso("isoFileName", "driveLabel", "tempDirName");
InOrder inOrder = Mockito.inOrder(scriptMock);
inOrder.verify(scriptMock).add("-o", "absolutePath");
inOrder.verify(scriptMock).add("-ldots");
inOrder.verify(scriptMock).add("-allow-lowercase");
inOrder.verify(scriptMock).add("-allow-multidot");
inOrder.verify(scriptMock).add("-cache-inodes");
inOrder.verify(scriptMock).add("-l");
inOrder.verify(scriptMock).add("-quiet");
inOrder.verify(scriptMock).add("-J");
inOrder.verify(scriptMock).add("-r");
inOrder.verify(scriptMock).add("-V", "driveLabel");
inOrder.verify(scriptMock).add("tempDirName");
inOrder.verify(scriptMock).execute();
PowerMockito.verifyStatic(ConfigDriveBuilder.class);
ConfigDriveBuilder.fileToBase64String(nullable(File.class));
}
Reusable Method for MCI (click to expand)
private static File createMockFile(long lengthReturn) {
File fileMock = Mockito.mock(File.class);
Mockito.doReturn(lengthReturn).when(fileMock).length();
return fileMock;
}
Mock Clone Instance #cloudstack_MCI_111
- Scope: method level
- Mocked Class:
com.cloud.host.Host
- Test Case Count: 9
- MO Count: 9
Reusable Method
private com.cloud.host.Host host;
@BeforeEach
public void setUp() {
host = Mockito.mock(com.cloud.host.Host.class);
}
host;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_111_1
Test Case Name: testCheckOnHostCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: host
Suggested Diff
@@
@Test
public void testCheckOnHostCommand() {
- final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
+ // removed local mock; replaced with global field `host`
;
final CheckOnHostCommand command = new CheckOnHostCommand(host);
final KVMHAMonitor monitor = Mockito.mock(KVMHAMonitor.class);
when(libvirtComputingResourceMock.getMonitor()).thenReturn(monitor);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getMonitor();
}
Original Test Code (click to expand)
@Test
public void testCheckOnHostCommand() {
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
;
final CheckOnHostCommand command = new CheckOnHostCommand(host);
final KVMHAMonitor monitor = Mockito.mock(KVMHAMonitor.class);
when(libvirtComputingResourceMock.getMonitor()).thenReturn(monitor);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getMonitor();
}
Reusable Method for MCI (click to expand)
private com.cloud.host.Host host;
@BeforeEach
public void setUp() {
host = Mockito.mock(com.cloud.host.Host.class);
}
host;
Test Case ID #cloudstack_Test_111_2
Test Case Name: testFenceCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: host
Suggested Diff
@@
@Test
public void testFenceCommand() {
final VirtualMachine vm = Mockito.mock(VirtualMachine.class);
;
- final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
+ // removed local mock; replaced with global field `host`
final FenceCommand command = new FenceCommand(vm, host);
final KVMHAMonitor monitor = Mockito.mock(KVMHAMonitor.class);
final NfsStoragePool storagePool = Mockito.mock(NfsStoragePool.class);
final List<NfsStoragePool> pools = new ArrayList<NfsStoragePool>();
pools.add(storagePool);
when(libvirtComputingResourceMock.getMonitor()).thenReturn(monitor);
when(monitor.getStoragePools()).thenReturn(pools);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getMonitor();
verify(monitor, times(1)).getStoragePools();
}
Original Test Code (click to expand)
@Test
public void testFenceCommand() {
final VirtualMachine vm = Mockito.mock(VirtualMachine.class);
;
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final FenceCommand command = new FenceCommand(vm, host);
final KVMHAMonitor monitor = Mockito.mock(KVMHAMonitor.class);
final NfsStoragePool storagePool = Mockito.mock(NfsStoragePool.class);
final List<NfsStoragePool> pools = new ArrayList<NfsStoragePool>();
pools.add(storagePool);
when(libvirtComputingResourceMock.getMonitor()).thenReturn(monitor);
when(monitor.getStoragePools()).thenReturn(pools);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getMonitor();
verify(monitor, times(1)).getStoragePools();
}
Reusable Method for MCI (click to expand)
private com.cloud.host.Host host;
@BeforeEach
public void setUp() {
host = Mockito.mock(com.cloud.host.Host.class);
}
host;
Test Case ID #cloudstack_Test_111_3
Test Case Name: testStartCommandFailedConnect(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: host
Suggested Diff
@@
@Test
public void testStartCommandFailedConnect() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
+ // removed local mock; replaced with global field `host`
final boolean executeInSequence = false;
- final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
+ final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
Original Test Code (click to expand)
@Test
public void testStartCommandFailedConnect() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(false);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private com.cloud.host.Host host;
@BeforeEach
public void setUp() {
host = Mockito.mock(com.cloud.host.Host.class);
}
host;
Test Case ID #cloudstack_Test_111_4
Test Case Name: testStartCommandLibvirtException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: host
Suggested Diff
@@
@Test
public void testStartCommandLibvirtException() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
+ // removed local mock; replaced with global field `host`
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testStartCommandLibvirtException() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private com.cloud.host.Host host;
@BeforeEach
public void setUp() {
host = Mockito.mock(com.cloud.host.Host.class);
}
host;
Test Case ID #cloudstack_Test_111_5
Test Case Name: testStartCommandInternalError(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: host
Suggested Diff
@@
@Test
public void testStartCommandInternalError() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
+ // removed local mock; replaced with global field `host`
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@Test
public void testStartCommandInternalError() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doThrow(InternalErrorException.class).when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private com.cloud.host.Host host;
@BeforeEach
public void setUp() {
host = Mockito.mock(com.cloud.host.Host.class);
}
host;
Test Case ID #cloudstack_Test_111_6
Test Case Name: testStartCommandUriException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: host
Suggested Diff
@@
@Test
public void testStartCommandUriException() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
+ // removed local mock; replaced with global field `host`
final boolean executeInSequence = false;
- final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
+ final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
Original Test Code (click to expand)
@Test
public void testStartCommandUriException() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doThrow(URISyntaxException.class).when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private com.cloud.host.Host host;
@BeforeEach
public void setUp() {
host = Mockito.mock(com.cloud.host.Host.class);
}
host;
Test Case ID #cloudstack_Test_111_7
Test Case Name: testStartCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: host
Suggested Diff
@@
@Test
public void testStartCommand() throws Exception {
PowerMockito.mockStatic(SshHelper.class);
PowerMockito.doNothing().when(SshHelper.class, "scpTo", Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.any(File.class), nullable(String.class), Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString());
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
+ // removed local mock; replaced with global field `host`
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@Test
public void testStartCommand() throws Exception {
PowerMockito.mockStatic(SshHelper.class);
PowerMockito.doNothing().when(SshHelper.class, "scpTo", Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.any(File.class), nullable(String.class), Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString());
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final VirtualRoutingResource virtRouterResource = Mockito.mock(VirtualRoutingResource.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final int[] vms = new int[0];
final String vmName = "Test";
final String controlIp = "127.0.0.1";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
try {
doNothing().when(libvirtComputingResourceMock).createVifs(vmSpec, vmDef);
when(libvirtComputingResourceMock.startVM(conn, vmName, vmDef.toString())).thenReturn("SUCCESS");
when(vmSpec.getBootArgs()).thenReturn("ls -lart");
when(libvirtComputingResourceMock.passCmdLine(vmName, vmSpec.getBootArgs())).thenReturn(true);
when(nic.getIp()).thenReturn(controlIp);
when(nic.getType()).thenReturn(TrafficType.Control);
when(libvirtComputingResourceMock.getVirtRouterResource()).thenReturn(virtRouterResource);
when(virtRouterResource.connect(controlIp, 1, 5000)).thenReturn(true);
when(virtRouterResource.isSystemVMSetup(vmName, controlIp)).thenReturn(true);
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private com.cloud.host.Host host;
@BeforeEach
public void setUp() {
host = Mockito.mock(com.cloud.host.Host.class);
}
host;
Test Case ID #cloudstack_Test_111_8
Test Case Name: testStartCommandIsolationEc2(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: host
Suggested Diff
@@
@Test
public void testStartCommandIsolationEc2() throws Exception {
PowerMockito.mockStatic(SshHelper.class);
PowerMockito.doNothing().when(SshHelper.class, "scpTo", Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.any(File.class), nullable(String.class), Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString());
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
+ // removed local mock; replaced with global field `host`
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@Test
public void testStartCommandIsolationEc2() throws Exception {
PowerMockito.mockStatic(SshHelper.class);
PowerMockito.doNothing().when(SshHelper.class, "scpTo", Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.any(File.class), nullable(String.class), Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString());
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final VirtualRoutingResource virtRouterResource = Mockito.mock(VirtualRoutingResource.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final int[] vms = new int[0];
final String vmName = "Test";
final String controlIp = "127.0.0.1";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
try {
doNothing().when(libvirtComputingResourceMock).createVifs(vmSpec, vmDef);
when(libvirtComputingResourceMock.startVM(conn, vmName, vmDef.toString())).thenReturn("SUCCESS");
when(nic.isSecurityGroupEnabled()).thenReturn(true);
when(nic.getIsolationUri()).thenReturn(new URI("ec2://test"));
when(vmSpec.getBootArgs()).thenReturn("ls -lart");
when(libvirtComputingResourceMock.passCmdLine(vmName, vmSpec.getBootArgs())).thenReturn(true);
when(nic.getIp()).thenReturn(controlIp);
when(nic.getType()).thenReturn(TrafficType.Control);
when(libvirtComputingResourceMock.getVirtRouterResource()).thenReturn(virtRouterResource);
when(virtRouterResource.connect(controlIp, 1, 5000)).thenReturn(true);
when(virtRouterResource.isSystemVMSetup(vmName, controlIp)).thenReturn(true);
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private com.cloud.host.Host host;
@BeforeEach
public void setUp() {
host = Mockito.mock(com.cloud.host.Host.class);
}
host;
Test Case ID #cloudstack_Test_111_9
Test Case Name: testStartCommandHostMemory(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: host
Suggested Diff
@@
@Test
public void testStartCommandHostMemory() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
+ // removed local mock; replaced with global field `host`
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@Test
public void testStartCommandHostMemory() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
int vmId = 1;
final int[] vms = new int[] { vmId };
final Domain dm = Mockito.mock(Domain.class);
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.User);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getMaxRam()).thenReturn(512L);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
when(conn.domainLookupByID(vmId)).thenReturn(dm);
when(dm.getMaxMemory()).thenReturn(1024L);
when(dm.getName()).thenReturn(vmName);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
}
Reusable Method for MCI (click to expand)
private com.cloud.host.Host host;
@BeforeEach
public void setUp() {
host = Mockito.mock(com.cloud.host.Host.class);
}
host;
Mock Clone Instance #cloudstack_MCI_112
- Scope: method level
- Mocked Class:
com.cloud.host.Host
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static Host createMockHost(Long dataCenterId) {
Host vmHost = mock(Host.class);
when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
return vmHost;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_112_1
Test Case Name: testaddHostIpToCertDetailsIfConfigAllows(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: vmHost
Suggested Diff
@@
Host vmHost = mock(Host.class);
ConfigKey testConfig = mock(ConfigKey.class);
Long dataCenterId = 5L;
String hostIp = "1.1.1.1";
String routerIp = "2.2.2.2";
Map<String, String> ipAddresses = new HashMap<>();
ipAddresses.put(NetworkElementCommand.ROUTER_IP, routerIp);
when(testConfig.valueIn(dataCenterId)).thenReturn(true);
- Host vmHost = mock(Host.class);
+ Host vmHost = createMockHost(dataCenterId);
- when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
when(vmHost.getPrivateIpAddress()).thenReturn(hostIp);
virtualMachineManagerImpl.addHostIpToCertDetailsIfConfigAllows(vmHost, ipAddresses, testConfig);
assertTrue(ipAddresses.containsKey(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertEquals(hostIp, ipAddresses.get(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertTrue(ipAddresses.containsKey(NetworkElementCommand.ROUTER_IP));
assertEquals(routerIp, ipAddresses.get(NetworkElementCommand.ROUTER_IP));
@@
Original Test Code (click to expand)
@Test
public void testaddHostIpToCertDetailsIfConfigAllows() {
Host vmHost = mock(Host.class);
ConfigKey testConfig = mock(ConfigKey.class);
Long dataCenterId = 5L;
String hostIp = "1.1.1.1";
String routerIp = "2.2.2.2";
Map<String, String> ipAddresses = new HashMap<>();
ipAddresses.put(NetworkElementCommand.ROUTER_IP, routerIp);
when(testConfig.valueIn(dataCenterId)).thenReturn(true);
when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
when(vmHost.getPrivateIpAddress()).thenReturn(hostIp);
virtualMachineManagerImpl.addHostIpToCertDetailsIfConfigAllows(vmHost, ipAddresses, testConfig);
assertTrue(ipAddresses.containsKey(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertEquals(hostIp, ipAddresses.get(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertTrue(ipAddresses.containsKey(NetworkElementCommand.ROUTER_IP));
assertEquals(routerIp, ipAddresses.get(NetworkElementCommand.ROUTER_IP));
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(Long dataCenterId) {
Host vmHost = mock(Host.class);
when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
return vmHost;
}
Test Case ID #cloudstack_Test_112_2
Test Case Name: testaddHostIpToCertDetailsIfConfigAllowsWhenConfigFalse(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: vmHost
Suggested Diff
@@
Host vmHost = mock(Host.class);
ConfigKey testConfig = mock(ConfigKey.class);
Long dataCenterId = 5L;
String hostIp = "1.1.1.1";
String routerIp = "2.2.2.2";
Map<String, String> ipAddresses = new HashMap<>();
ipAddresses.put(NetworkElementCommand.ROUTER_IP, routerIp);
when(testConfig.valueIn(dataCenterId)).thenReturn(false);
- when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
+ Host vmHost = createMockHost(dataCenterId);
virtualMachineManagerImpl.addHostIpToCertDetailsIfConfigAllows(vmHost, ipAddresses, testConfig);
assertFalse(ipAddresses.containsKey(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertTrue(ipAddresses.containsKey(NetworkElementCommand.ROUTER_IP));
assertEquals(routerIp, ipAddresses.get(NetworkElementCommand.ROUTER_IP));
@@
Original Test Code (click to expand)
@Test
public void testaddHostIpToCertDetailsIfConfigAllowsWhenConfigFalse() {
Host vmHost = mock(Host.class);
ConfigKey testConfig = mock(ConfigKey.class);
Long dataCenterId = 5L;
String hostIp = "1.1.1.1";
String routerIp = "2.2.2.2";
Map<String, String> ipAddresses = new HashMap<>();
ipAddresses.put(NetworkElementCommand.ROUTER_IP, routerIp);
when(testConfig.valueIn(dataCenterId)).thenReturn(false);
when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
virtualMachineManagerImpl.addHostIpToCertDetailsIfConfigAllows(vmHost, ipAddresses, testConfig);
assertFalse(ipAddresses.containsKey(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertTrue(ipAddresses.containsKey(NetworkElementCommand.ROUTER_IP));
assertEquals(routerIp, ipAddresses.get(NetworkElementCommand.ROUTER_IP));
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(Long dataCenterId) {
Host vmHost = mock(Host.class);
when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
return vmHost;
}
Mock Clone Instance #cloudstack_MCI_113
- Scope: method level
- Mocked Class:
com.cloud.host.Host
- Test Case Count: 2
- MO Count: 10
Reusable Method
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_113_1
Test Case Name: testReorderHostsByPriority(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: host1
Suggested Diff
@@
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
- Host host1 = Mockito.mock(Host.class);
- Mockito.when(host1.getId()).thenReturn(1L);
+ Host host1 = createMockHost(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
@@
Original Test Code (click to expand)
@Test
public void testReorderHostsByPriority() {
Map<Long, Integer> priorities = new LinkedHashMap<>();
priorities.put(1L, 3);
priorities.put(2L, -6);
priorities.put(3L, 5);
priorities.put(5L, 8);
priorities.put(6L, -1);
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
Assert.assertEquals(8, hosts.size());
Assert.assertEquals(5, hosts.get(0).getId());
Assert.assertEquals(3, hosts.get(1).getId());
Assert.assertEquals(8, hosts.get(2).getId());
Assert.assertEquals(1, hosts.get(3).getId());
Assert.assertEquals(4, hosts.get(4).getId());
Assert.assertEquals(7, hosts.get(5).getId());
Assert.assertEquals(6, hosts.get(6).getId());
Assert.assertEquals(2, hosts.get(7).getId());
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
Test Case ID #cloudstack_Test_113_2
Test Case Name: testReorderHostsByPriority(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: host2
Suggested Diff
@@
priorities.put(2L, -6);
priorities.put(3L, 5);
priorities.put(5L, 8);
priorities.put(6L, -1);
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
- Host host2 = Mockito.mock(Host.class);
- Mockito.when(host2.getId()).thenReturn(2L);
+ Host host2 = createMockHost(2L);
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
Assert.assertEquals(8, hosts.size());
Assert.assertEquals(5, hosts.get(0).getId());
Assert.assertEquals(3, hosts.get(1).getId());
Assert.assertEquals(8, hosts.get(2).getId());
Assert.assertEquals(1, hosts.get(3).getId());
Assert.assertEquals(4, hosts.get(4).getId());
Assert.assertEquals(7, hosts.get(5).getId());
Assert.assertEquals(6, hosts.get(6).getId());
Assert.assertEquals(2, hosts.get(7).getId());
@@
Original Test Code (click to expand)
@Test
public void testReorderHostsByPriority() {
Map<Long, Integer> priorities = new LinkedHashMap<>();
priorities.put(1L, 3);
priorities.put(2L, -6);
priorities.put(3L, 5);
priorities.put(5L, 8);
priorities.put(6L, -1);
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
Assert.assertEquals(8, hosts.size());
Assert.assertEquals(5, hosts.get(0).getId());
Assert.assertEquals(3, hosts.get(1).getId());
Assert.assertEquals(8, hosts.get(2).getId());
Assert.assertEquals(1, hosts.get(3).getId());
Assert.assertEquals(4, hosts.get(4).getId());
Assert.assertEquals(7, hosts.get(5).getId());
Assert.assertEquals(6, hosts.get(6).getId());
Assert.assertEquals(2, hosts.get(7).getId());
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
Test Case ID #cloudstack_Test_113_3
Test Case Name: testReorderHostsByPriority(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: host3
Suggested Diff
@@
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
- Host host3 = Mockito.mock(Host.class);
- Mockito.when(host3.getId()).thenReturn(3L);
+ Host host3 = createMockHost(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
@@
Original Test Code (click to expand)
@Test
public void testReorderHostsByPriority() {
Map<Long, Integer> priorities = new LinkedHashMap<>();
priorities.put(1L, 3);
priorities.put(2L, -6);
priorities.put(3L, 5);
priorities.put(5L, 8);
priorities.put(6L, -1);
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
Assert.assertEquals(8, hosts.size());
Assert.assertEquals(5, hosts.get(0).getId());
Assert.assertEquals(3, hosts.get(1).getId());
Assert.assertEquals(8, hosts.get(2).getId());
Assert.assertEquals(1, hosts.get(3).getId());
Assert.assertEquals(4, hosts.get(4).getId());
Assert.assertEquals(7, hosts.get(5).getId());
Assert.assertEquals(6, hosts.get(6).getId());
Assert.assertEquals(2, hosts.get(7).getId());
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
Test Case ID #cloudstack_Test_113_4
Test Case Name: testReorderHostsByPriority(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: host4
Suggested Diff
@@
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
- Host host4 = Mockito.mock(Host.class);
- Mockito.when(host4.getId()).thenReturn(4L);
+ Host host4 = createMockHost(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
@@
Original Test Code (click to expand)
@Test
public void testReorderHostsByPriority() {
Map<Long, Integer> priorities = new LinkedHashMap<>();
priorities.put(1L, 3);
priorities.put(2L, -6);
priorities.put(3L, 5);
priorities.put(5L, 8);
priorities.put(6L, -1);
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
Assert.assertEquals(8, hosts.size());
Assert.assertEquals(5, hosts.get(0).getId());
Assert.assertEquals(3, hosts.get(1).getId());
Assert.assertEquals(8, hosts.get(2).getId());
Assert.assertEquals(1, hosts.get(3).getId());
Assert.assertEquals(4, hosts.get(4).getId());
Assert.assertEquals(7, hosts.get(5).getId());
Assert.assertEquals(6, hosts.get(6).getId());
Assert.assertEquals(2, hosts.get(7).getId());
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
Test Case ID #cloudstack_Test_113_5
Test Case Name: testReorderHostsByPriority(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: host5
Suggested Diff
@@
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
- Host host5 = Mockito.mock(Host.class);
- Mockito.when(host5.getId()).thenReturn(5L);
+ Host host5 = createMockHost(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
@@
Original Test Code (click to expand)
@Test
public void testReorderHostsByPriority() {
Map<Long, Integer> priorities = new LinkedHashMap<>();
priorities.put(1L, 3);
priorities.put(2L, -6);
priorities.put(3L, 5);
priorities.put(5L, 8);
priorities.put(6L, -1);
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
Assert.assertEquals(8, hosts.size());
Assert.assertEquals(5, hosts.get(0).getId());
Assert.assertEquals(3, hosts.get(1).getId());
Assert.assertEquals(8, hosts.get(2).getId());
Assert.assertEquals(1, hosts.get(3).getId());
Assert.assertEquals(4, hosts.get(4).getId());
Assert.assertEquals(7, hosts.get(5).getId());
Assert.assertEquals(6, hosts.get(6).getId());
Assert.assertEquals(2, hosts.get(7).getId());
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
Test Case ID #cloudstack_Test_113_6
Test Case Name: testReorderHostsByPriority(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: host6
Suggested Diff
@@
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
- Host host6 = Mockito.mock(Host.class);
- Mockito.when(host6.getId()).thenReturn(6L);
+ Host host6 = createMockHost(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
@@
Original Test Code (click to expand)
@Test
public void testReorderHostsByPriority() {
Map<Long, Integer> priorities = new LinkedHashMap<>();
priorities.put(1L, 3);
priorities.put(2L, -6);
priorities.put(3L, 5);
priorities.put(5L, 8);
priorities.put(6L, -1);
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
Assert.assertEquals(8, hosts.size());
Assert.assertEquals(5, hosts.get(0).getId());
Assert.assertEquals(3, hosts.get(1).getId());
Assert.assertEquals(8, hosts.get(2).getId());
Assert.assertEquals(1, hosts.get(3).getId());
Assert.assertEquals(4, hosts.get(4).getId());
Assert.assertEquals(7, hosts.get(5).getId());
Assert.assertEquals(6, hosts.get(6).getId());
Assert.assertEquals(2, hosts.get(7).getId());
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
Test Case ID #cloudstack_Test_113_7
Test Case Name: testReorderHostsByPriority(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: host7
Suggested Diff
@@
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
- Host host7 = Mockito.mock(Host.class);
- Mockito.when(host7.getId()).thenReturn(7L);
+ Host host7 = createMockHost(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
@@
Original Test Code (click to expand)
@Test
public void testReorderHostsByPriority() {
Map<Long, Integer> priorities = new LinkedHashMap<>();
priorities.put(1L, 3);
priorities.put(2L, -6);
priorities.put(3L, 5);
priorities.put(5L, 8);
priorities.put(6L, -1);
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
Assert.assertEquals(8, hosts.size());
Assert.assertEquals(5, hosts.get(0).getId());
Assert.assertEquals(3, hosts.get(1).getId());
Assert.assertEquals(8, hosts.get(2).getId());
Assert.assertEquals(1, hosts.get(3).getId());
Assert.assertEquals(4, hosts.get(4).getId());
Assert.assertEquals(7, hosts.get(5).getId());
Assert.assertEquals(6, hosts.get(6).getId());
Assert.assertEquals(2, hosts.get(7).getId());
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
Test Case ID #cloudstack_Test_113_8
Test Case Name: testReorderHostsByPriority(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: host8
Suggested Diff
@@
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
- Host host8 = Mockito.mock(Host.class);
- Mockito.when(host8.getId()).thenReturn(8L);
+ Host host8 = createMockHost(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
@@
Original Test Code (click to expand)
@Test
public void testReorderHostsByPriority() {
Map<Long, Integer> priorities = new LinkedHashMap<>();
priorities.put(1L, 3);
priorities.put(2L, -6);
priorities.put(3L, 5);
priorities.put(5L, 8);
priorities.put(6L, -1);
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
Assert.assertEquals(8, hosts.size());
Assert.assertEquals(5, hosts.get(0).getId());
Assert.assertEquals(3, hosts.get(1).getId());
Assert.assertEquals(8, hosts.get(2).getId());
Assert.assertEquals(1, hosts.get(3).getId());
Assert.assertEquals(4, hosts.get(4).getId());
Assert.assertEquals(7, hosts.get(5).getId());
Assert.assertEquals(6, hosts.get(6).getId());
Assert.assertEquals(2, hosts.get(7).getId());
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
Test Case ID #cloudstack_Test_113_9
Test Case Name: testReorderHostsByPriority(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: host9
Suggested Diff
@@
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
- Host host9 = Mockito.mock(Host.class);
- Mockito.when(host9.getId()).thenReturn(9L);
+ Host host9 = createMockHost(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
@@
Original Test Code (click to expand)
@Test
public void testReorderHostsByPriority() {
Map<Long, Integer> priorities = new LinkedHashMap<>();
priorities.put(1L, 3);
priorities.put(2L, -6);
priorities.put(3L, 5);
priorities.put(5L, 8);
priorities.put(6L, -1);
priorities.put(8L, 5);
priorities.put(9L, DataCenterDeployment.PROHIBITED_HOST_PRIORITY);
Host host1 = Mockito.mock(Host.class);
Mockito.when(host1.getId()).thenReturn(1L);
Host host2 = Mockito.mock(Host.class);
Mockito.when(host2.getId()).thenReturn(2L);
Host host3 = Mockito.mock(Host.class);
Mockito.when(host3.getId()).thenReturn(3L);
Host host4 = Mockito.mock(Host.class);
Mockito.when(host4.getId()).thenReturn(4L);
Host host5 = Mockito.mock(Host.class);
Mockito.when(host5.getId()).thenReturn(5L);
Host host6 = Mockito.mock(Host.class);
Mockito.when(host6.getId()).thenReturn(6L);
Host host7 = Mockito.mock(Host.class);
Mockito.when(host7.getId()).thenReturn(7L);
Host host8 = Mockito.mock(Host.class);
Mockito.when(host8.getId()).thenReturn(8L);
Host host9 = Mockito.mock(Host.class);
Mockito.when(host9.getId()).thenReturn(9L);
List<Host> hosts = new ArrayList<>(Arrays.asList(host1, host2, host3, host4, host5, host6, host7, host8, host9));
_dpm.reorderHostsByPriority(priorities, hosts);
Assert.assertEquals(8, hosts.size());
Assert.assertEquals(5, hosts.get(0).getId());
Assert.assertEquals(3, hosts.get(1).getId());
Assert.assertEquals(8, hosts.get(2).getId());
Assert.assertEquals(1, hosts.get(3).getId());
Assert.assertEquals(4, hosts.get(4).getId());
Assert.assertEquals(7, hosts.get(5).getId());
Assert.assertEquals(6, hosts.get(6).getId());
Assert.assertEquals(2, hosts.get(7).getId());
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
Test Case ID #cloudstack_Test_113_10
Test Case Name: testSetUp(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: host
Suggested Diff
@@
planners.add(_planner);
_dpm.setPlanners(planners);
- Mockito.when(host.getId()).thenReturn(hostId);
+ host = createMockHost(hostId);
Mockito.doNothing().when(_dpm).avoidDisabledResources(vmProfile, dc, avoids);
}
Original Test Code (click to expand)
@Before
public void testSetUp() {
MockitoAnnotations.initMocks(this);
ComponentContext.initComponentsLifeCycle();
PlannerHostReservationVO reservationVO = new PlannerHostReservationVO(hostId, dataCenterId, podId, clusterId, PlannerResourceUsage.Shared);
Mockito.when(_plannerHostReserveDao.persist(Matchers.any(PlannerHostReservationVO.class))).thenReturn(reservationVO);
Mockito.when(_plannerHostReserveDao.findById(Matchers.anyLong())).thenReturn(reservationVO);
Mockito.when(_affinityGroupVMMapDao.countAffinityGroupsForVm(Matchers.anyLong())).thenReturn(0L);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
Mockito.when(template.isDeployAsIs()).thenReturn(false);
Mockito.when(templateDao.findById(Mockito.anyLong())).thenReturn(template);
VMInstanceVO vm = new VMInstanceVO();
Mockito.when(vmProfile.getVirtualMachine()).thenReturn(vm);
Mockito.when(vmProfile.getId()).thenReturn(instanceId);
Mockito.when(vmDetailsDao.listDetailsKeyPairs(Matchers.anyLong())).thenReturn(null);
Mockito.when(volDao.findByInstance(Matchers.anyLong())).thenReturn(new ArrayList<>());
Mockito.when(_dcDao.findById(Matchers.anyLong())).thenReturn(dc);
Mockito.when(dc.getId()).thenReturn(dataCenterId);
ClusterVO clusterVO = new ClusterVO();
clusterVO.setHypervisorType(HypervisorType.XenServer.toString());
Mockito.when(_clusterDao.findById(Matchers.anyLong())).thenReturn(clusterVO);
Mockito.when(_planner.getName()).thenReturn("FirstFitPlanner");
List<DeploymentPlanner> planners = new ArrayList<DeploymentPlanner>();
planners.add(_planner);
_dpm.setPlanners(planners);
Mockito.when(host.getId()).thenReturn(hostId);
Mockito.doNothing().when(_dpm).avoidDisabledResources(vmProfile, dc, avoids);
}
Reusable Method for MCI (click to expand)
private static Host createMockHost(long id) {
Host host = Mockito.mock(Host.class);
Mockito.when(host.getId()).thenReturn(id);
return host;
}
Mock Clone Instance #cloudstack_MCI_114
- Scope: class level
- Mocked Class:
com.cloud.host.Host
- Test Case Count: 5
- MO Count: 9
Reusable Method
public class MockHost {
public static Host createMockHost(long clusterId) {
Host host = Mockito.mock(Host.class);
when(host.getClusterId()).thenReturn(clusterId);
return host;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_114_1
Test Case Name: canHandleKVMLiveStorageMigrationInterCluster(File: C:\Java_projects\Apache\cloudstack\engine\storage\datamotion\src\test\java\org\apache\cloudstack\storage\motion\KvmNonManagedStorageSystemDataMotionTest.java)
Mock Object Variable Name: host2
Suggested Diff
@@
when(host1.getId()).thenReturn(HOST_1_ID);
when(host1.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host1.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
- when(host2.getId()).thenReturn(HOST_2_ID);
- when(host2.getClusterId()).thenReturn(CLUSTER_ID);
- lenient().when(host2.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
}
@Test
public void canHandleKVMLiveStorageMigrationInterCluster() {
- when(host2.getClusterId()).thenReturn(5L);
+ host2 = MockHost.createMockHost(5L);
StrategyPriority priority = kvmNonManagedStorageDataMotionStrategy.canHandleKVMNonManagedLiveNFSStorageMigration(migrationMap, host1, host2);
assertEquals(StrategyPriority.CANT_HANDLE, priority);
}
Original Test Code (click to expand)
@Before
public void setUp() {
migrationMap = new HashMap<>();
migrationMap.put(volumeInfo1, dataStore2);
migrationMap.put(volumeInfo2, dataStore2);
when(volumeInfo1.getPoolId()).thenReturn(POOL_1_ID);
when(primaryDataStoreDao.findById(POOL_1_ID)).thenReturn(pool1);
when(pool1.isManaged()).thenReturn(false);
when(dataStore2.getId()).thenReturn(POOL_2_ID);
when(primaryDataStoreDao.findById(POOL_2_ID)).thenReturn(pool2);
when(pool2.isManaged()).thenReturn(true);
when(volumeInfo1.getDataStore()).thenReturn(dataStore1);
when(volumeInfo2.getPoolId()).thenReturn(POOL_1_ID);
lenient().when(volumeInfo2.getDataStore()).thenReturn(dataStore1);
lenient().when(dataStore1.getId()).thenReturn(POOL_1_ID);
when(pool1.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getScope()).thenReturn(ScopeType.CLUSTER);
lenient().when(dataStore3.getId()).thenReturn(POOL_3_ID);
lenient().when(primaryDataStoreDao.findById(POOL_3_ID)).thenReturn(pool3);
lenient().when(pool3.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
lenient().when(pool3.getScope()).thenReturn(ScopeType.CLUSTER);
when(host1.getId()).thenReturn(HOST_1_ID);
when(host1.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host1.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(host2.getId()).thenReturn(HOST_2_ID);
when(host2.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host2.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
}
@Test
public void canHandleKVMLiveStorageMigrationInterCluster() {
when(host2.getClusterId()).thenReturn(5L);
StrategyPriority priority = kvmNonManagedStorageDataMotionStrategy.canHandleKVMNonManagedLiveNFSStorageMigration(migrationMap, host1, host2);
assertEquals(StrategyPriority.CANT_HANDLE, priority);
}
Reusable Method for MCI (click to expand)
public class MockHost {
public static Host createMockHost(long clusterId) {
Host host = Mockito.mock(Host.class);
when(host.getClusterId()).thenReturn(clusterId);
return host;
}
}
Test Case ID #cloudstack_Test_114_2
Test Case Name: testMigrateWithinClusterSuccess(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: srcHost
Suggested Diff
@@
@Test
public void testMigrateWithinClusterSuccess() throws Exception {
- Host srcHost = mock(Host.class);
+ Host srcHost = MockHost.createMockHost(1L);
Host destHost = mock(Host.class);
- when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(1L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(true);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertTrue("Migration within cluster isn't successful.", result.isSuccess());
}
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithinClusterSuccess() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(1L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(true);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertTrue("Migration within cluster isn't successful.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
public class MockHost {
public static Host createMockHost(long clusterId) {
Host host = Mockito.mock(Host.class);
when(host.getClusterId()).thenReturn(clusterId);
return host;
}
}
Test Case ID #cloudstack_Test_114_3
Test Case Name: testMigrateWithinClusterSuccess(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: destHost
Suggested Diff
@@
Host srcHost = mock(Host.class);
- Host destHost = mock(Host.class);
- when(destHost.getClusterId()).thenReturn(1L);
+ Host destHost = MockHost.createMockHost(1L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithinClusterSuccess() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(1L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(true);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertTrue("Migration within cluster isn't successful.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
public class MockHost {
public static Host createMockHost(long clusterId) {
Host host = Mockito.mock(Host.class);
when(host.getClusterId()).thenReturn(clusterId);
return host;
}
}
Test Case ID #cloudstack_Test_114_4
Test Case Name: testMigrateWithinClusterFailure(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: srcHost
Suggested Diff
@@
public void testMigrateWithinClusterFailure() throws Exception {
- Host srcHost = mock(Host.class);
+ Host srcHost = MockHost.createMockHost(1L);
Host destHost = mock(Host.class);
- when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(1L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(false);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertFalse("Migration within cluster didn't fail.", result.isSuccess());
}
Original Test Code (click to expand)
@Test
public void testMigrateWithinClusterFailure() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(1L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(false);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertFalse("Migration within cluster didn't fail.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
public class MockHost {
public static Host createMockHost(long clusterId) {
Host host = Mockito.mock(Host.class);
when(host.getClusterId()).thenReturn(clusterId);
return host;
}
}
Test Case ID #cloudstack_Test_114_5
Test Case Name: testMigrateWithinClusterFailure(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: destHost
Suggested Diff
@@
Host srcHost = mock(Host.class);
- Host destHost = mock(Host.class);
- when(destHost.getClusterId()).thenReturn(1L);
+ Host destHost = MockHost.createMockHost(1L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithinClusterFailure() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(1L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(false);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertFalse("Migration within cluster didn't fail.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
public class MockHost {
public static Host createMockHost(long clusterId) {
Host host = Mockito.mock(Host.class);
when(host.getClusterId()).thenReturn(clusterId);
return host;
}
}
Test Case ID #cloudstack_Test_114_6
Test Case Name: testMigrateAcrossClusterSuccess(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: srcHost
Suggested Diff
@@
public void testMigrateAcrossClusterSuccess() throws Exception {
- Host srcHost = mock(Host.class);
+ Host srcHost = MockHost.createMockHost(1L);
Host destHost = mock(Host.class);
- when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(2L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(true);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertTrue("Migration across cluster isn't successful.", result.isSuccess());
}
Original Test Code (click to expand)
@Test
public void testMigrateAcrossClusterSuccess() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(2L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(true);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertTrue("Migration across cluster isn't successful.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
public class MockHost {
public static Host createMockHost(long clusterId) {
Host host = Mockito.mock(Host.class);
when(host.getClusterId()).thenReturn(clusterId);
return host;
}
}
Test Case ID #cloudstack_Test_114_7
Test Case Name: testMigrateAcrossClusterSuccess(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: destHost
Suggested Diff
@@
Host srcHost = mock(Host.class);
- Host destHost = mock(Host.class);
- when(destHost.getClusterId()).thenReturn(2L);
+ Host destHost = MockHost.createMockHost(2L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
@@
Original Test Code (click to expand)
@Test
public void testMigrateAcrossClusterSuccess() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(2L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(true);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertTrue("Migration across cluster isn't successful.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
public class MockHost {
public static Host createMockHost(long clusterId) {
Host host = Mockito.mock(Host.class);
when(host.getClusterId()).thenReturn(clusterId);
return host;
}
}
Test Case ID #cloudstack_Test_114_8
Test Case Name: testMigrateAcrossClusterFailure(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: srcHost
Suggested Diff
@@
@Test
public void testMigrateAcrossClusterFailure() throws Exception {
- Host srcHost = mock(Host.class);
+ Host srcHost = MockHost.createMockHost(1L);
Host destHost = mock(Host.class);
- when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(2L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(false);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertFalse("Migration across cluster didn't fail.", result.isSuccess());
}
@@
Original Test Code (click to expand)
@Test
public void testMigrateAcrossClusterFailure() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(2L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(false);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertFalse("Migration across cluster didn't fail.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
public class MockHost {
public static Host createMockHost(long clusterId) {
Host host = Mockito.mock(Host.class);
when(host.getClusterId()).thenReturn(clusterId);
return host;
}
}
Test Case ID #cloudstack_Test_114_9
Test Case Name: testMigrateAcrossClusterFailure(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: destHost
Suggested Diff
@@
Host srcHost = mock(Host.class);
- Host destHost = mock(Host.class);
- when(destHost.getClusterId()).thenReturn(2L);
+ Host destHost = MockHost.createMockHost(2L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
@@
Original Test Code (click to expand)
@Test
public void testMigrateAcrossClusterFailure() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(2L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(false);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertFalse("Migration across cluster didn't fail.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
public class MockHost {
public static Host createMockHost(long clusterId) {
Host host = Mockito.mock(Host.class);
when(host.getClusterId()).thenReturn(clusterId);
return host;
}
}
Mock Clone Instance #cloudstack_MCI_115
- Scope: method level
- Mocked Class:
com.cloud.host.Host
- Test Case Count: 2
- MO Count: 4
Reusable Method
private static Host createMockHostWithHypervisorType(HypervisorType hypervisorType) {
Host host = mock(Host.class);
when(host.getHypervisorType()).thenReturn(hypervisorType);
return host;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_115_1
Test Case Name: testStrategyHandlesVmwareHosts(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: srcHost
Suggested Diff
@@
@Test
public void testStrategyHandlesVmwareHosts() throws Exception {
- Host srcHost = mock(Host.class);
+ Host srcHost = createMockHostWithHypervisorType(HypervisorType.VMware);
Host destHost = mock(Host.class);
- when(srcHost.getHypervisorType()).thenReturn(HypervisorType.VMware);
when(destHost.getHypervisorType()).thenReturn(HypervisorType.VMware);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
StrategyPriority canHandle = strategy.canHandle(volumeMap, srcHost, destHost);
assertTrue("The strategy is only supposed to handle vmware hosts", canHandle == StrategyPriority.HYPERVISOR);
}
@@
Original Test Code (click to expand)
@Test
public void testStrategyHandlesVmwareHosts() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getHypervisorType()).thenReturn(HypervisorType.VMware);
when(destHost.getHypervisorType()).thenReturn(HypervisorType.VMware);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
StrategyPriority canHandle = strategy.canHandle(volumeMap, srcHost, destHost);
assertTrue("The strategy is only supposed to handle vmware hosts", canHandle == StrategyPriority.HYPERVISOR);
}
Reusable Method for MCI (click to expand)
private static Host createMockHostWithHypervisorType(HypervisorType hypervisorType) {
Host host = mock(Host.class);
when(host.getHypervisorType()).thenReturn(hypervisorType);
return host;
}
Test Case ID #cloudstack_Test_115_2
Test Case Name: testStrategyHandlesVmwareHosts(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: destHost
Suggested Diff
@@
Host srcHost = mock(Host.class);
- Host destHost = mock(Host.class);
- when(destHost.getHypervisorType()).thenReturn(HypervisorType.VMware);
+ Host destHost = createMockHostWithHypervisorType(HypervisorType.VMware);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
StrategyPriority canHandle = strategy.canHandle(volumeMap, srcHost, destHost);
assertTrue("The strategy is only supposed to handle vmware hosts", canHandle == StrategyPriority.HYPERVISOR);
}
Original Test Code (click to expand)
@Test
public void testStrategyHandlesVmwareHosts() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getHypervisorType()).thenReturn(HypervisorType.VMware);
when(destHost.getHypervisorType()).thenReturn(HypervisorType.VMware);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
StrategyPriority canHandle = strategy.canHandle(volumeMap, srcHost, destHost);
assertTrue("The strategy is only supposed to handle vmware hosts", canHandle == StrategyPriority.HYPERVISOR);
}
Reusable Method for MCI (click to expand)
private static Host createMockHostWithHypervisorType(HypervisorType hypervisorType) {
Host host = mock(Host.class);
when(host.getHypervisorType()).thenReturn(hypervisorType);
return host;
}
Test Case ID #cloudstack_Test_115_3
Test Case Name: testStrategyDoesnotHandlesNonVmwareHosts(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: srcHost
Suggested Diff
@@
@Test
public void testStrategyDoesnotHandlesNonVmwareHosts() throws Exception {
- Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
- when(srcHost.getHypervisorType()).thenReturn(HypervisorType.XenServer);
+ Host srcHost = createMockHostWithHypervisorType(HypervisorType.XenServer);
when(destHost.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
StrategyPriority canHandle = strategy.canHandle(volumeMap, srcHost, destHost);
assertFalse("The strategy is only supposed to handle vmware hosts", canHandle == StrategyPriority.HYPERVISOR);
}
@@
Original Test Code (click to expand)
@Test
public void testStrategyDoesnotHandlesNonVmwareHosts() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getHypervisorType()).thenReturn(HypervisorType.XenServer);
when(destHost.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
StrategyPriority canHandle = strategy.canHandle(volumeMap, srcHost, destHost);
assertFalse("The strategy is only supposed to handle vmware hosts", canHandle == StrategyPriority.HYPERVISOR);
}
Reusable Method for MCI (click to expand)
private static Host createMockHostWithHypervisorType(HypervisorType hypervisorType) {
Host host = mock(Host.class);
when(host.getHypervisorType()).thenReturn(hypervisorType);
return host;
}
Test Case ID #cloudstack_Test_115_4
Test Case Name: testStrategyDoesnotHandlesNonVmwareHosts(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: destHost
Suggested Diff
@@
Host srcHost = mock(Host.class);
- Host destHost = mock(Host.class);
- when(srcHost.getHypervisorType()).thenReturn(HypervisorType.XenServer);
- when(destHost.getHypervisorType()).thenReturn(HypervisorType.XenServer);
+ Host destHost = createMockHostWithHypervisorType(HypervisorType.XenServer);
+ when(srcHost.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
StrategyPriority canHandle = strategy.canHandle(volumeMap, srcHost, destHost);
assertFalse("The strategy is only supposed to handle vmware hosts", canHandle == StrategyPriority.HYPERVISOR);
}
Original Test Code (click to expand)
@Test
public void testStrategyDoesnotHandlesNonVmwareHosts() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getHypervisorType()).thenReturn(HypervisorType.XenServer);
when(destHost.getHypervisorType()).thenReturn(HypervisorType.XenServer);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
StrategyPriority canHandle = strategy.canHandle(volumeMap, srcHost, destHost);
assertFalse("The strategy is only supposed to handle vmware hosts", canHandle == StrategyPriority.HYPERVISOR);
}
Reusable Method for MCI (click to expand)
private static Host createMockHostWithHypervisorType(HypervisorType hypervisorType) {
Host host = mock(Host.class);
when(host.getHypervisorType()).thenReturn(hypervisorType);
return host;
}
Mock Clone Instance #cloudstack_MCI_116
- Scope: class level
- Mocked Class:
StoragePoolHostDao
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockStoragePoolHostDao {
public static StoragePoolHostDao createMockStoragePoolHostDao() {
StoragePoolHostDao storagePoolHostDao = Mockito.mock(StoragePoolHostDao.class);
when(storagePoolHostDao.findByPoolHost(anyLong(), anyLong())).thenReturn(null);
return storagePoolHostDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_116_1
Test Case Name: testAttachCluster(File: C:\Java_projects\Apache\cloudstack\plugins\storage\volume\default\src\test\java\org\apache\cloudstack\storage\datastore\lifecycle\CloudStackPrimaryDataStoreLifeCycleImplTest.java)
Mock Object Variable Name: storagePoolHostDao
Suggested Diff
@@
when(info.getAvailableBytes()).thenReturn(0L);
- when(storagePoolHostDao.findByPoolHost(anyLong(), anyLong())).thenReturn(null);
when(primaryStoreDao.findById(anyLong())).thenReturn(storagePool);
when(primaryStoreDao.update(anyLong(), Mockito.any(StoragePoolVO.class))).thenReturn(true);
when(primaryDataStoreHelper.attachCluster(Mockito.any(DataStore.class))).thenReturn(null);
@@
Original Test Code (click to expand)
@Before
public void initMocks() {
MockitoAnnotations.initMocks(this);
List<HostVO> hostList = new ArrayList<HostVO>();
HostVO host1 = new HostVO(1L, "aa01", Host.Type.Routing, "192.168.1.1", "255.255.255.0", null, null, null, null, null, null, null, null, null, null, UUID.randomUUID().toString(), Status.Up, "1.0", null, null, 1L, null, 0, 0, "aa", 0, Storage.StoragePoolType.NetworkFilesystem);
HostVO host2 = new HostVO(1L, "aa02", Host.Type.Routing, "192.168.1.1", "255.255.255.0", null, null, null, null, null, null, null, null, null, null, UUID.randomUUID().toString(), Status.Up, "1.0", null, null, 1L, null, 0, 0, "aa", 0, Storage.StoragePoolType.NetworkFilesystem);
host1.setResourceState(ResourceState.Enabled);
host2.setResourceState(ResourceState.Disabled);
hostList.add(host1);
hostList.add(host2);
when(_dataStoreMgr.getDataStore(anyLong(), eq(DataStoreRole.Primary))).thenReturn(store);
when(store.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(store.isShared()).thenReturn(true);
when(store.getName()).thenReturn("newPool");
when(_dataStoreProviderMgr.getDataStoreProvider(anyString())).thenReturn(dataStoreProvider);
when(dataStoreProvider.getName()).thenReturn("default");
((StorageManagerImpl) storageMgr).registerHostListener("default", hostListener);
when(_resourceMgr.listAllUpHosts(eq(Host.Type.Routing), anyLong(), anyLong(), anyLong())).thenReturn(hostList);
when(agentMgr.easySend(anyLong(), Mockito.any(ModifyStoragePoolCommand.class))).thenReturn(answer);
when(answer.getResult()).thenReturn(true);
when(answer.getPoolInfo()).thenReturn(info);
when(info.getLocalPath()).thenReturn("/mnt/1");
when(info.getCapacityBytes()).thenReturn(0L);
when(info.getAvailableBytes()).thenReturn(0L);
when(storagePoolHostDao.findByPoolHost(anyLong(), anyLong())).thenReturn(null);
when(primaryStoreDao.findById(anyLong())).thenReturn(storagePool);
when(primaryStoreDao.update(anyLong(), Mockito.any(StoragePoolVO.class))).thenReturn(true);
when(primaryDataStoreHelper.attachCluster(Mockito.any(DataStore.class))).thenReturn(null);
}
@Test
public void testAttachCluster() throws Exception {
_cloudStackPrimaryDataStoreLifeCycle.attachCluster(store, new ClusterScope(1L, 1L, 1L));
verify(storagePoolHostDao, times(2)).persist(Mockito.any(StoragePoolHostVO.class));
}
Reusable Method for MCI (click to expand)
public class MockStoragePoolHostDao {
public static StoragePoolHostDao createMockStoragePoolHostDao() {
StoragePoolHostDao storagePoolHostDao = Mockito.mock(StoragePoolHostDao.class);
when(storagePoolHostDao.findByPoolHost(anyLong(), anyLong())).thenReturn(null);
return storagePoolHostDao;
}
}
Test Case ID #cloudstack_Test_116_2
Test Case Name: testAttachZone(File: C:\Java_projects\Apache\cloudstack\plugins\storage\volume\scaleio\src\test\java\org\apache\cloudstack\storage\datastore\lifecycle\ScaleIOPrimaryDataStoreLifeCycleTest.java)
Mock Object Variable Name: storagePoolHostDao
Suggested Diff
@@
when(agentMgr.easySend(anyLong(), Mockito.any(ModifyStoragePoolCommand.class))).thenReturn(answer);
when(answer.getResult()).thenReturn(true);
- when(storagePoolHostDao.findByPoolHost(anyLong(), anyLong())).thenReturn(null);
+ storagePoolHostDao = MockStoragePoolHostDao.createMockStoragePoolHostDao();
when(hostDao.findById(1L)).thenReturn(host1);
when(hostDao.findById(2L)).thenReturn(host2);
when(dataStoreHelper.attachZone(Mockito.any(DataStore.class))).thenReturn(null);
scaleIOPrimaryDataStoreLifeCycleTest.attachZone(dataStore, scope, Hypervisor.HypervisorType.KVM);
verify(storageMgr, times(2)).connectHostToSharedPool(Mockito.any(Long.class), Mockito.any(Long.class));
verify(storagePoolHostDao, times(2)).persist(Mockito.any(StoragePoolHostVO.class));
@@
Original Test Code (click to expand)
@Test
public void testAttachZone() throws Exception {
final DataStore dataStore = mock(DataStore.class);
when(dataStore.getId()).thenReturn(1L);
PowerMockito.mockStatic(ScaleIOGatewayClient.class);
ScaleIOGatewayClientImpl client = mock(ScaleIOGatewayClientImpl.class);
when(ScaleIOGatewayClientConnectionPool.getInstance().getClient(1L, storagePoolDetailsDao)).thenReturn(client);
when(client.haveConnectedSdcs()).thenReturn(true);
final ZoneScope scope = new ZoneScope(1L);
List<HostVO> hostList = new ArrayList<HostVO>();
HostVO host1 = new HostVO(1L, "host01", Host.Type.Routing, "192.168.1.1", "255.255.255.0", null, null, null, null, null, null, null, null, null, null, UUID.randomUUID().toString(), Status.Up, "1.0", null, null, 1L, null, 0, 0, "aa", 0, Storage.StoragePoolType.PowerFlex);
HostVO host2 = new HostVO(2L, "host02", Host.Type.Routing, "192.168.1.2", "255.255.255.0", null, null, null, null, null, null, null, null, null, null, UUID.randomUUID().toString(), Status.Up, "1.0", null, null, 1L, null, 0, 0, "aa", 0, Storage.StoragePoolType.PowerFlex);
host1.setResourceState(ResourceState.Enabled);
host2.setResourceState(ResourceState.Enabled);
hostList.add(host1);
hostList.add(host2);
when(resourceManager.listAllUpAndEnabledHostsInOneZoneByHypervisor(Hypervisor.HypervisorType.KVM, 1L)).thenReturn(hostList);
when(dataStoreMgr.getDataStore(anyLong(), eq(DataStoreRole.Primary))).thenReturn(store);
when(store.getId()).thenReturn(1L);
when(store.getPoolType()).thenReturn(Storage.StoragePoolType.PowerFlex);
when(store.isShared()).thenReturn(true);
when(store.getName()).thenReturn("ScaleIOPool");
when(store.getStorageProviderName()).thenReturn(ScaleIOUtil.PROVIDER_NAME);
when(dataStoreProviderMgr.getDataStoreProvider(ScaleIOUtil.PROVIDER_NAME)).thenReturn(dataStoreProvider);
when(dataStoreProvider.getName()).thenReturn(ScaleIOUtil.PROVIDER_NAME);
storageMgr.registerHostListener(ScaleIOUtil.PROVIDER_NAME, hostListener);
when(agentMgr.easySend(anyLong(), Mockito.any(ModifyStoragePoolCommand.class))).thenReturn(answer);
when(answer.getResult()).thenReturn(true);
when(storagePoolHostDao.findByPoolHost(anyLong(), anyLong())).thenReturn(null);
when(hostDao.findById(1L)).thenReturn(host1);
when(hostDao.findById(2L)).thenReturn(host2);
when(dataStoreHelper.attachZone(Mockito.any(DataStore.class))).thenReturn(null);
scaleIOPrimaryDataStoreLifeCycleTest.attachZone(dataStore, scope, Hypervisor.HypervisorType.KVM);
verify(storageMgr, times(2)).connectHostToSharedPool(Mockito.any(Long.class), Mockito.any(Long.class));
verify(storagePoolHostDao, times(2)).persist(Mockito.any(StoragePoolHostVO.class));
}
Reusable Method for MCI (click to expand)
public class MockStoragePoolHostDao {
public static StoragePoolHostDao createMockStoragePoolHostDao() {
StoragePoolHostDao storagePoolHostDao = Mockito.mock(StoragePoolHostDao.class);
when(storagePoolHostDao.findByPoolHost(anyLong(), anyLong())).thenReturn(null);
return storagePoolHostDao;
}
}
Mock Clone Instance #cloudstack_MCI_117
- Scope: method level
- Mocked Class:
org.apache.cloudstack.auth.UserTwoFactorAuthenticator
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static UserTwoFactorAuthenticator createMockUserTwoFactorAuthenticator(UserAccountVO userAccount, String setup2FAKeyReturn) {
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn(setup2FAKeyReturn);
return totpProvider;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_117_1
Test Case Name: testEnableUserTwoFactorAuthenticationWhenProviderNameIsNullExpectedDefaultProviderTOTP(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: totpProvider
Suggested Diff
@@
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
- UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
+ UserTwoFactorAuthenticator totpProvider = createMockUserTwoFactorAuthenticator(userAccount, "EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("totp")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("totp")).thenReturn(totpProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
- Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
Mockito.when(userDaoMock.update(userId, userVoMock)).thenReturn(true);
UserTwoFactorAuthenticationSetupResponse response = accountManagerImpl.enableTwoFactorAuthentication(userId, null);
Assert.assertEquals("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL", response.getSecretCode());
@@
Original Test Code (click to expand)
@Test
public void testEnableUserTwoFactorAuthenticationWhenProviderNameIsNullExpectedDefaultProviderTOTP() {
Long userId = 1L;
UserAccountVO userAccount = Mockito.mock(UserAccountVO.class);
UserVO userVO = Mockito.mock(UserVO.class);
Mockito.when(userAccountDaoMock.findById(userId)).thenReturn(userAccount);
Mockito.when(userDaoMock.findById(userId)).thenReturn(userVO);
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("totp")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("totp")).thenReturn(totpProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
Mockito.when(userDaoMock.update(userId, userVoMock)).thenReturn(true);
UserTwoFactorAuthenticationSetupResponse response = accountManagerImpl.enableTwoFactorAuthentication(userId, null);
Assert.assertEquals("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL", response.getSecretCode());
}
Reusable Method for MCI (click to expand)
private static UserTwoFactorAuthenticator createMockUserTwoFactorAuthenticator(UserAccountVO userAccount, String setup2FAKeyReturn) {
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn(setup2FAKeyReturn);
return totpProvider;
}
Test Case ID #cloudstack_Test_117_2
Test Case Name: testEnableUserTwoFactorAuthentication(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: totpProvider
Suggested Diff
@@
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
- UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
+ UserTwoFactorAuthenticator totpProvider = createMockUserTwoFactorAuthenticator(userAccount, "EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("totp")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("totp")).thenReturn(totpProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
- Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
Mockito.when(userDaoMock.update(userId, userVoMock)).thenReturn(true);
UserTwoFactorAuthenticationSetupResponse response = accountManagerImpl.enableTwoFactorAuthentication(userId, "totp");
Assert.assertEquals("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL", response.getSecretCode());
@@
Original Test Code (click to expand)
@Test
public void testEnableUserTwoFactorAuthentication() {
Long userId = 1L;
UserAccountVO userAccount = Mockito.mock(UserAccountVO.class);
UserVO userVO = Mockito.mock(UserVO.class);
Mockito.when(userAccountDaoMock.findById(userId)).thenReturn(userAccount);
Mockito.when(userDaoMock.findById(userId)).thenReturn(userVO);
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("totp")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("totp")).thenReturn(totpProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
Mockito.when(userDaoMock.update(userId, userVoMock)).thenReturn(true);
UserTwoFactorAuthenticationSetupResponse response = accountManagerImpl.enableTwoFactorAuthentication(userId, "totp");
Assert.assertEquals("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL", response.getSecretCode());
}
Reusable Method for MCI (click to expand)
private static UserTwoFactorAuthenticator createMockUserTwoFactorAuthenticator(UserAccountVO userAccount, String setup2FAKeyReturn) {
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn(setup2FAKeyReturn);
return totpProvider;
}
Mock Clone Instance #cloudstack_MCI_118
- Scope: method level
- Mocked Class:
com.cloud.network.as.Counter
- Test Case Count: 2
- MO Count: 4
Reusable Method
private static Counter createMockCounter(Counter.Source source) {
Counter counterMock = Mockito.mock(Counter.class);
when(counterMock.getSource()).thenReturn(source);
return counterMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_118_1
Test Case Name: testValidateAutoScaleCounters(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterCpuMock
Suggested Diff
@@
@Test
public void testValidateAutoScaleCounters() {
- Counter counterCpuMock = Mockito.mock(Counter.class);
- when(counterCpuMock.getSource()).thenReturn(Counter.Source.CPU);
+ Counter counterCpuMock = createMockCounter(Counter.Source.CPU);
Counter counterMemoryMock = Mockito.mock(Counter.class);
when(counterMemoryMock.getSource()).thenReturn(Counter.Source.MEMORY);
List<Counter> counters = Arrays.asList(counterCpuMock, counterMemoryMock);
List<AutoScaleCounter> supportedAutoScaleCounters = Arrays.asList(new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Cpu), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Memory), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.VirtualRouter));
PowerMockito.doReturn(supportedAutoScaleCounters).when(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
autoScaleManagerImplSpy.validateAutoScaleCounters(networkId, counters, new ArrayList<>());
Mockito.verify(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
}
@@
Original Test Code (click to expand)
@Test
public void testValidateAutoScaleCounters() {
Counter counterCpuMock = Mockito.mock(Counter.class);
when(counterCpuMock.getSource()).thenReturn(Counter.Source.CPU);
Counter counterMemoryMock = Mockito.mock(Counter.class);
when(counterMemoryMock.getSource()).thenReturn(Counter.Source.MEMORY);
List<Counter> counters = Arrays.asList(counterCpuMock, counterMemoryMock);
List<AutoScaleCounter> supportedAutoScaleCounters = Arrays.asList(new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Cpu), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Memory), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.VirtualRouter));
PowerMockito.doReturn(supportedAutoScaleCounters).when(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
autoScaleManagerImplSpy.validateAutoScaleCounters(networkId, counters, new ArrayList<>());
Mockito.verify(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
}
Reusable Method for MCI (click to expand)
private static Counter createMockCounter(Counter.Source source) {
Counter counterMock = Mockito.mock(Counter.class);
when(counterMock.getSource()).thenReturn(source);
return counterMock;
}
Test Case ID #cloudstack_Test_118_2
Test Case Name: testValidateAutoScaleCounters(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterMemoryMock
Suggested Diff
@@
Counter counterCpuMock = Mockito.mock(Counter.class);
when(counterCpuMock.getSource()).thenReturn(Counter.Source.CPU);
- Counter counterMemoryMock = Mockito.mock(Counter.class);
- when(counterMemoryMock.getSource()).thenReturn(Counter.Source.MEMORY);
+ Counter counterMemoryMock = createMockCounter(Counter.Source.MEMORY);
List<Counter> counters = Arrays.asList(counterCpuMock, counterMemoryMock);
List<AutoScaleCounter> supportedAutoScaleCounters = Arrays.asList(new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Cpu), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Memory), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.VirtualRouter));
PowerMockito.doReturn(supportedAutoScaleCounters).when(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
autoScaleManagerImplSpy.validateAutoScaleCounters(networkId, counters, new ArrayList<>());
Mockito.verify(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
@@
Original Test Code (click to expand)
@Test
public void testValidateAutoScaleCounters() {
Counter counterCpuMock = Mockito.mock(Counter.class);
when(counterCpuMock.getSource()).thenReturn(Counter.Source.CPU);
Counter counterMemoryMock = Mockito.mock(Counter.class);
when(counterMemoryMock.getSource()).thenReturn(Counter.Source.MEMORY);
List<Counter> counters = Arrays.asList(counterCpuMock, counterMemoryMock);
List<AutoScaleCounter> supportedAutoScaleCounters = Arrays.asList(new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Cpu), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Memory), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.VirtualRouter));
PowerMockito.doReturn(supportedAutoScaleCounters).when(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
autoScaleManagerImplSpy.validateAutoScaleCounters(networkId, counters, new ArrayList<>());
Mockito.verify(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
}
Reusable Method for MCI (click to expand)
private static Counter createMockCounter(Counter.Source source) {
Counter counterMock = Mockito.mock(Counter.class);
when(counterMock.getSource()).thenReturn(source);
return counterMock;
}
Test Case ID #cloudstack_Test_118_3
Test Case Name: testValidateAutoScaleCountersFail(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterCpuMock
Suggested Diff
@@
public void testValidateAutoScaleCountersFail() {
- Counter counterCpuMock = Mockito.mock(Counter.class);
- when(counterCpuMock.getSource()).thenReturn(Counter.Source.CPU);
+ Counter counterCpuMock = createMockCounter(Counter.Source.CPU);
Counter counterMemoryMock = Mockito.mock(Counter.class);
when(counterMemoryMock.getSource()).thenReturn(Counter.Source.MEMORY);
List<Counter> counters = Arrays.asList(counterCpuMock, counterMemoryMock);
List<AutoScaleCounter> supportedAutoScaleCounters = Arrays.asList(new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Cpu), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.VirtualRouter));
PowerMockito.doReturn(supportedAutoScaleCounters).when(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
autoScaleManagerImplSpy.validateAutoScaleCounters(networkId, counters, new ArrayList<>());
Mockito.verify(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testValidateAutoScaleCountersFail() {
Counter counterCpuMock = Mockito.mock(Counter.class);
when(counterCpuMock.getSource()).thenReturn(Counter.Source.CPU);
Counter counterMemoryMock = Mockito.mock(Counter.class);
when(counterMemoryMock.getSource()).thenReturn(Counter.Source.MEMORY);
List<Counter> counters = Arrays.asList(counterCpuMock, counterMemoryMock);
List<AutoScaleCounter> supportedAutoScaleCounters = Arrays.asList(new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Cpu), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.VirtualRouter));
PowerMockito.doReturn(supportedAutoScaleCounters).when(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
autoScaleManagerImplSpy.validateAutoScaleCounters(networkId, counters, new ArrayList<>());
Mockito.verify(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
}
Reusable Method for MCI (click to expand)
private static Counter createMockCounter(Counter.Source source) {
Counter counterMock = Mockito.mock(Counter.class);
when(counterMock.getSource()).thenReturn(source);
return counterMock;
}
Test Case ID #cloudstack_Test_118_4
Test Case Name: testValidateAutoScaleCountersFail(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterMemoryMock
Suggested Diff
@@
Counter counterCpuMock = Mockito.mock(Counter.class);
when(counterCpuMock.getSource()).thenReturn(Counter.Source.CPU);
- Counter counterMemoryMock = Mockito.mock(Counter.class);
- when(counterMemoryMock.getSource()).thenReturn(Counter.Source.MEMORY);
+ Counter counterMemoryMock = createMockCounter(Counter.Source.MEMORY);
List<Counter> counters = Arrays.asList(counterCpuMock, counterMemoryMock);
List<AutoScaleCounter> supportedAutoScaleCounters = Arrays.asList(new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Cpu), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.VirtualRouter));
PowerMockito.doReturn(supportedAutoScaleCounters).when(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
autoScaleManagerImplSpy.validateAutoScaleCounters(networkId, counters, new ArrayList<>());
Mockito.verify(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testValidateAutoScaleCountersFail() {
Counter counterCpuMock = Mockito.mock(Counter.class);
when(counterCpuMock.getSource()).thenReturn(Counter.Source.CPU);
Counter counterMemoryMock = Mockito.mock(Counter.class);
when(counterMemoryMock.getSource()).thenReturn(Counter.Source.MEMORY);
List<Counter> counters = Arrays.asList(counterCpuMock, counterMemoryMock);
List<AutoScaleCounter> supportedAutoScaleCounters = Arrays.asList(new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.Cpu), new AutoScaleCounter(AutoScaleCounter.AutoScaleCounterType.VirtualRouter));
PowerMockito.doReturn(supportedAutoScaleCounters).when(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
autoScaleManagerImplSpy.validateAutoScaleCounters(networkId, counters, new ArrayList<>());
Mockito.verify(autoScaleManagerImplSpy).getSupportedAutoScaleCounters(networkId);
}
Reusable Method for MCI (click to expand)
private static Counter createMockCounter(Counter.Source source) {
Counter counterMock = Mockito.mock(Counter.class);
when(counterMock.getSource()).thenReturn(source);
return counterMock;
}
Mock Clone Instance #cloudstack_MCI_119
- Scope: method level
- Mocked Class:
com.cloud.deploy.DeploymentPlanner.ExcludeList
- Test Case Count: 4
- MO Count: 4
Reusable Method
private ExcludeList avoids;
@BeforeEach
public void setUp() {
avoids = mock(ExcludeList.class);
}
avoids
The refactoring details in each test cases
Test Case ID #cloudstack_Test_119_1
Mock Object Variable Name: avoids
Suggested Diff
@@
@Test
public void checkClusterReorderingBasedOnImplicitHostTags() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
- ExcludeList avoids = mock(ExcludeList.class);
+ // removed local mock; replaced with global field `avoids`
initializeForTest(vmProfile, plan, avoids);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
List<Long> reorderedClusterList = new ArrayList<Long>();
reorderedClusterList.add(4L);
reorderedClusterList.add(3L);
reorderedClusterList.add(1L);
reorderedClusterList.add(5L);
reorderedClusterList.add(6L);
reorderedClusterList.add(2L);
assertTrue("Reordered cluster list is not honoring the implict host tags", (clusterList.equals(reorderedClusterList)));
}
Original Test Code (click to expand)
@Test
public void checkClusterReorderingBasedOnImplicitHostTags() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
List<Long> reorderedClusterList = new ArrayList<Long>();
reorderedClusterList.add(4L);
reorderedClusterList.add(3L);
reorderedClusterList.add(1L);
reorderedClusterList.add(5L);
reorderedClusterList.add(6L);
reorderedClusterList.add(2L);
assertTrue("Reordered cluster list is not honoring the implict host tags", (clusterList.equals(reorderedClusterList)));
}
Reusable Method for MCI (click to expand)
private ExcludeList avoids;
@BeforeEach
public void setUp() {
avoids = mock(ExcludeList.class);
}
avoids
Test Case ID #cloudstack_Test_119_2
Test Case Name: checkClusterReorderingForDeployVMWithThresholdCheckDisabled(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\FirstFitPlannerTest.java)
Mock Object Variable Name: avoids
Suggested Diff
@@
@Test
public void checkClusterReorderingForDeployVMWithThresholdCheckDisabled() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
- ExcludeList avoids = mock(ExcludeList.class);
+ // removed local mock; replaced with global field `avoids`
initializeForTest(vmProfile, plan, avoids);
List<Long> clustersCrossingThreshold = initializeForClusterThresholdDisabled();
Map<String, String> details = new HashMap<String, String>();
details.put("deployvm", "true");
when(vmDetailsDao.listDetailsKeyPairs(vmProfile.getVirtualMachine().getId())).thenReturn(details);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list have clusters exceeding threshold", (!clusterList.containsAll(clustersCrossingThreshold)));
}
Original Test Code (click to expand)
@Test
public void checkClusterReorderingForDeployVMWithThresholdCheckDisabled() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> clustersCrossingThreshold = initializeForClusterThresholdDisabled();
Map<String, String> details = new HashMap<String, String>();
details.put("deployvm", "true");
when(vmDetailsDao.listDetailsKeyPairs(vmProfile.getVirtualMachine().getId())).thenReturn(details);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list have clusters exceeding threshold", (!clusterList.containsAll(clustersCrossingThreshold)));
}
Reusable Method for MCI (click to expand)
private ExcludeList avoids;
@BeforeEach
public void setUp() {
avoids = mock(ExcludeList.class);
}
avoids
Test Case ID #cloudstack_Test_119_3
Test Case Name: checkClusterListBasedOnHostTag(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\FirstFitPlannerTest.java)
Mock Object Variable Name: avoids
Suggested Diff
@@
@Test
public void checkClusterListBasedOnHostTag() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
- ExcludeList avoids = mock(ExcludeList.class);
+ // removed local mock; replaced with global field `avoids`
initializeForTest(vmProfile, plan, avoids);
List<Long> matchingClusters = initializeForClusterListBasedOnHostTag(vmProfile.getServiceOffering());
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list have clusters which has hosts with specified host tag on offering", (clusterList.containsAll(matchingClusters)));
assertTrue("Reordered cluster list does not have clusters which don't have hosts with matching host tag on offering", (!clusterList.contains(2L)));
}
Original Test Code (click to expand)
@Test
public void checkClusterListBasedOnHostTag() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> matchingClusters = initializeForClusterListBasedOnHostTag(vmProfile.getServiceOffering());
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list have clusters which has hosts with specified host tag on offering", (clusterList.containsAll(matchingClusters)));
assertTrue("Reordered cluster list does not have clusters which don't have hosts with matching host tag on offering", (!clusterList.contains(2L)));
}
Reusable Method for MCI (click to expand)
private ExcludeList avoids;
@BeforeEach
public void setUp() {
avoids = mock(ExcludeList.class);
}
avoids
Test Case ID #cloudstack_Test_119_4
Test Case Name: checkClusterReorderingForStartVMWithThresholdCheckDisabled(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\FirstFitPlannerTest.java)
Mock Object Variable Name: avoids
Suggested Diff
@@
@Test
public void checkClusterReorderingForStartVMWithThresholdCheckDisabled() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
- ExcludeList avoids = mock(ExcludeList.class);
+ // removed local mock; replaced with global field `avoids`
initializeForTest(vmProfile, plan, avoids);
List<Long> clustersCrossingThreshold = initializeForClusterThresholdDisabled();
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list does not have clusters exceeding threshold", (clusterList.containsAll(clustersCrossingThreshold)));
}
Original Test Code (click to expand)
@Test
public void checkClusterReorderingForStartVMWithThresholdCheckDisabled() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> clustersCrossingThreshold = initializeForClusterThresholdDisabled();
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list does not have clusters exceeding threshold", (clusterList.containsAll(clustersCrossingThreshold)));
}
Reusable Method for MCI (click to expand)
private ExcludeList avoids;
@BeforeEach
public void setUp() {
avoids = mock(ExcludeList.class);
}
avoids
Mock Clone Instance #cloudstack_MCI_120
- Scope: class level
- Mocked Class:
org.apache.cloudstack.framework.config.dao.ConfigurationDao
- Test Case Count: 3
- MO Count: 3
Reusable Method
public class MockConfigurationDao {
public static ConfigurationDao createMockConfigurationDao(String networkLBHaproxyStatsVisibilityReturn) {
ConfigurationDao configDao = mock(ConfigurationDao.class);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn(networkLBHaproxyStatsVisibilityReturn);
return configDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_120_1
Test Case Name: applyLBRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: configDao
Suggested Diff
@@
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
- when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
+ configDao = MockConfigurationDao.createMockConfigurationDao("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleSuccessTest() {
User caller = mock(User.class);
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
public class MockConfigurationDao {
public static ConfigurationDao createMockConfigurationDao(String networkLBHaproxyStatsVisibilityReturn) {
ConfigurationDao configDao = mock(ConfigurationDao.class);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn(networkLBHaproxyStatsVisibilityReturn);
return configDao;
}
}
Test Case ID #cloudstack_Test_120_2
Test Case Name: applyLBRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: configDao
Suggested Diff
@@
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
- when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
+ configDao = MockConfigurationDao.createMockConfigurationDao("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(80);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
public class MockConfigurationDao {
public static ConfigurationDao createMockConfigurationDao(String networkLBHaproxyStatsVisibilityReturn) {
ConfigurationDao configDao = mock(ConfigurationDao.class);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn(networkLBHaproxyStatsVisibilityReturn);
return configDao;
}
}
Test Case ID #cloudstack_Test_120_3
Test Case Name: updateLoadBalancerTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: configDao
Suggested Diff
@@
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
- when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
+ configDao = MockConfigurationDao.createMockConfigurationDao("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
Original Test Code (click to expand)
@Test
public void updateLoadBalancerTest() {
Network network = mock(Network.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
Network publicNetwork = mock(Network.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
}
Reusable Method for MCI (click to expand)
public class MockConfigurationDao {
public static ConfigurationDao createMockConfigurationDao(String networkLBHaproxyStatsVisibilityReturn) {
ConfigurationDao configDao = mock(ConfigurationDao.class);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn(networkLBHaproxyStatsVisibilityReturn);
return configDao;
}
}
Mock Clone Instance #cloudstack_MCI_121
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.DataObject
- Test Case Count: 1
- MO Count: 2
Reusable Method
private static DataObject createMockDataObject(DataStore dataStore) {
DataObject dataObject = mock(DataObject.class);
when(dataObject.getDataStore()).thenReturn(dataStore);
return dataObject;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_121_1
Test Case Name: testMixZonePrimaryStorages(File: C:\Java_projects\Apache\cloudstack\engine\storage\integration-test\src\test\java\org\apache\cloudstack\storage\test\EndpointSelectorTest.java)
Mock Object Variable Name: srcObj
Suggested Diff
@@
when(destStore.getId()).thenReturn(destStoreId);
- DataObject srcObj = mock(DataObject.class);
- DataObject destObj = mock(DataObject.class);
- when(srcObj.getDataStore()).thenReturn(srcStore);
+ DataObject srcObj = createMockDataObject(srcStore);
+ DataObject destObj = mock(DataObject.class);
when(destObj.getDataStore()).thenReturn(destStore);
EndPoint ep = endPointSelector.select(srcObj, destObj);
@@
Original Test Code (click to expand)
@Test
public void testMixZonePrimaryStorages() {
Long srcStoreId = null;
Long destStoreId = imageStore.getId();
DataStore store = createPrimaryDataStore(ScopeType.ZONE);
srcStoreId = store.getId();
HostVO host = createHost(Hypervisor.HypervisorType.VMware);
addStorageToHost(store, host);
store = createPrimaryDataStore(ScopeType.ZONE);
host = createHost(Hypervisor.HypervisorType.VMware);
addStorageToHost(store, host);
Long xenStoreId = null;
store = createPrimaryDataStore(ScopeType.CLUSTER);
xenStoreId = store.getId();
host = createHost(Hypervisor.HypervisorType.XenServer);
addStorageToHost(store, host);
store = createPrimaryDataStore(ScopeType.CLUSTER);
host = createHost(Hypervisor.HypervisorType.XenServer);
addStorageToHost(store, host);
ZoneScope srcScope = new ZoneScope(dcId);
DataStore srcStore = mock(DataStore.class);
DataStore destStore = mock(DataStore.class);
when(srcStore.getScope()).thenReturn(srcScope);
when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
when(srcStore.getId()).thenReturn(srcStoreId);
when(destStore.getScope()).thenReturn(srcScope);
when(destStore.getRole()).thenReturn(DataStoreRole.Image);
when(destStore.getId()).thenReturn(destStoreId);
DataObject srcObj = mock(DataObject.class);
DataObject destObj = mock(DataObject.class);
when(srcObj.getDataStore()).thenReturn(srcStore);
when(destObj.getDataStore()).thenReturn(destStore);
EndPoint ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
Long hostId = ep.getId();
HostVO newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
when(srcStore.getRole()).thenReturn(DataStoreRole.Image);
when(srcStore.getId()).thenReturn(destStoreId);
when(destStore.getId()).thenReturn(srcStoreId);
when(destStore.getRole()).thenReturn(DataStoreRole.Primary);
ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
hostId = ep.getId();
newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
ClusterScope clusterScope = new ClusterScope(clusterId, podId, dcId);
when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
when(srcStore.getScope()).thenReturn(clusterScope);
when(srcStore.getId()).thenReturn(xenStoreId);
ep = endPointSelector.select(srcStore);
Assert.assertTrue(ep != null);
newHost = hostDao.findById(ep.getId());
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.XenServer);
}
Reusable Method for MCI (click to expand)
private static DataObject createMockDataObject(DataStore dataStore) {
DataObject dataObject = mock(DataObject.class);
when(dataObject.getDataStore()).thenReturn(dataStore);
return dataObject;
}
Test Case ID #cloudstack_Test_121_2
Test Case Name: testMixZonePrimaryStorages(File: C:\Java_projects\Apache\cloudstack\engine\storage\integration-test\src\test\java\org\apache\cloudstack\storage\test\EndpointSelectorTest.java)
Mock Object Variable Name: destObj
Suggested Diff
@@
DataObject srcObj = mock(DataObject.class);
- DataObject destObj = mock(DataObject.class);
- when(srcObj.getDataStore()).thenReturn(srcStore);
- when(destObj.getDataStore()).thenReturn(destStore);
+ DataObject destObj = createMockDataObject(destStore);
+ when(srcObj.getDataStore()).thenReturn(srcStore);
EndPoint ep = endPointSelector.select(srcObj, destObj);
Original Test Code (click to expand)
@Test
public void testMixZonePrimaryStorages() {
Long srcStoreId = null;
Long destStoreId = imageStore.getId();
DataStore store = createPrimaryDataStore(ScopeType.ZONE);
srcStoreId = store.getId();
HostVO host = createHost(Hypervisor.HypervisorType.VMware);
addStorageToHost(store, host);
store = createPrimaryDataStore(ScopeType.ZONE);
host = createHost(Hypervisor.HypervisorType.VMware);
addStorageToHost(store, host);
Long xenStoreId = null;
store = createPrimaryDataStore(ScopeType.CLUSTER);
xenStoreId = store.getId();
host = createHost(Hypervisor.HypervisorType.XenServer);
addStorageToHost(store, host);
store = createPrimaryDataStore(ScopeType.CLUSTER);
host = createHost(Hypervisor.HypervisorType.XenServer);
addStorageToHost(store, host);
ZoneScope srcScope = new ZoneScope(dcId);
DataStore srcStore = mock(DataStore.class);
DataStore destStore = mock(DataStore.class);
when(srcStore.getScope()).thenReturn(srcScope);
when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
when(srcStore.getId()).thenReturn(srcStoreId);
when(destStore.getScope()).thenReturn(srcScope);
when(destStore.getRole()).thenReturn(DataStoreRole.Image);
when(destStore.getId()).thenReturn(destStoreId);
DataObject srcObj = mock(DataObject.class);
DataObject destObj = mock(DataObject.class);
when(srcObj.getDataStore()).thenReturn(srcStore);
when(destObj.getDataStore()).thenReturn(destStore);
EndPoint ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
Long hostId = ep.getId();
HostVO newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
when(srcStore.getRole()).thenReturn(DataStoreRole.Image);
when(srcStore.getId()).thenReturn(destStoreId);
when(destStore.getId()).thenReturn(srcStoreId);
when(destStore.getRole()).thenReturn(DataStoreRole.Primary);
ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
hostId = ep.getId();
newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
ClusterScope clusterScope = new ClusterScope(clusterId, podId, dcId);
when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
when(srcStore.getScope()).thenReturn(clusterScope);
when(srcStore.getId()).thenReturn(xenStoreId);
ep = endPointSelector.select(srcStore);
Assert.assertTrue(ep != null);
newHost = hostDao.findById(ep.getId());
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.XenServer);
}
Reusable Method for MCI (click to expand)
private static DataObject createMockDataObject(DataStore dataStore) {
DataObject dataObject = mock(DataObject.class);
when(dataObject.getDataStore()).thenReturn(dataStore);
return dataObject;
}
Mock Clone Instance #cloudstack_MCI_122
- Scope: class level
- Mocked Class:
StorageLayer
- Test Case Count: 6
- MO Count: 6
Reusable Method
public class MockStorageLayer {
public static StorageLayer createMockStorageLayer(long sizeReturn) {
StorageLayer mockStorageLayer = Mockito.mock(StorageLayer.class);
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(sizeReturn);
return mockStorageLayer;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_122_1
Test Case Name: testProcessWhenVirtualSizeThrowsException(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\OVAProcessorTest.java)
Mock Object Variable Name: mockStorageLayer
Suggested Diff
@@
String templatePath = "/tmp";
String templateName = "template";
- Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
- Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(1000l);
+ mockStorageLayer = MockStorageLayer.createMockStorageLayer(1000l);
Mockito.doThrow(new InternalErrorException("virtual size calculation failed")).when(processor).getTemplateVirtualSize(Mockito.anyString(), Mockito.anyString());
Script mockScript = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(mockScript);
PowerMockito.when(mockScript.execute()).thenReturn(null);
processor.process(templatePath, null, templateName);
@@
Original Test Code (click to expand)
@Test(expected = InternalErrorException.class)
public void testProcessWhenVirtualSizeThrowsException() throws Exception {
String templatePath = "/tmp";
String templateName = "template";
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(1000l);
Mockito.doThrow(new InternalErrorException("virtual size calculation failed")).when(processor).getTemplateVirtualSize(Mockito.anyString(), Mockito.anyString());
Script mockScript = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(mockScript);
PowerMockito.when(mockScript.execute()).thenReturn(null);
processor.process(templatePath, null, templateName);
}
@Before
public void setUp() throws Exception {
processor = PowerMockito.spy(new OVAProcessor());
Map<String, Object> params = new HashMap<String, Object>();
params.put(StorageLayer.InstanceConfigKey, mockStorageLayer);
processor.configure("OVA Processor", params);
}
Reusable Method for MCI (click to expand)
public class MockStorageLayer {
public static StorageLayer createMockStorageLayer(long sizeReturn) {
StorageLayer mockStorageLayer = Mockito.mock(StorageLayer.class);
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(sizeReturn);
return mockStorageLayer;
}
}
Test Case ID #cloudstack_Test_122_2
Test Case Name: testProcess(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\OVAProcessorTest.java)
Mock Object Variable Name: mockStorageLayer
Suggested Diff
@@
String templatePath = "/tmp";
String templateName = "template";
long virtualSize = 2000;
long actualSize = 1000;
- Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
- Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(actualSize);
+ mockStorageLayer = MockStorageLayer.createMockStorageLayer(actualSize);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize(Mockito.anyString(), Mockito.anyString());
Script mockScript = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(mockScript);
PowerMockito.when(mockScript.execute()).thenReturn(null);
Processor.FormatInfo info = processor.process(templatePath, null, templateName);
Assert.assertEquals(Storage.ImageFormat.OVA, info.format);
Assert.assertEquals("actual size:", actualSize, info.size);
Assert.assertEquals("virtual size:", virtualSize, info.virtualSize);
Assert.assertEquals("template name:", templateName + ".ova", info.filename);
@@
Original Test Code (click to expand)
@Before
public void setUp() throws Exception {
processor = PowerMockito.spy(new OVAProcessor());
Map<String, Object> params = new HashMap<String, Object>();
params.put(StorageLayer.InstanceConfigKey, mockStorageLayer);
processor.configure("OVA Processor", params);
}
@Test
public void testProcess() throws Exception {
String templatePath = "/tmp";
String templateName = "template";
long virtualSize = 2000;
long actualSize = 1000;
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(actualSize);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize(Mockito.anyString(), Mockito.anyString());
Script mockScript = Mockito.mock(Script.class);
PowerMockito.whenNew(Script.class).withAnyArguments().thenReturn(mockScript);
PowerMockito.when(mockScript.execute()).thenReturn(null);
Processor.FormatInfo info = processor.process(templatePath, null, templateName);
Assert.assertEquals(Storage.ImageFormat.OVA, info.format);
Assert.assertEquals("actual size:", actualSize, info.size);
Assert.assertEquals("virtual size:", virtualSize, info.virtualSize);
Assert.assertEquals("template name:", templateName + ".ova", info.filename);
}
Reusable Method for MCI (click to expand)
public class MockStorageLayer {
public static StorageLayer createMockStorageLayer(long sizeReturn) {
StorageLayer mockStorageLayer = Mockito.mock(StorageLayer.class);
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(sizeReturn);
return mockStorageLayer;
}
}
Test Case ID #cloudstack_Test_122_3
Test Case Name: testProcessWhenVirtualSizeThrowsException(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\QCOW2ProcessorTest.java)
Mock Object Variable Name: mockStorageLayer
Suggested Diff
@@
String templatePath = "/tmp";
String templateName = "template";
- Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
File mockFile = Mockito.mock(File.class);
+ mockStorageLayer = MockStorageLayer.createMockStorageLayer(1000L);
Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
- Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(1000L);
Mockito.doThrow(new IOException("virtual size calculation failed")).when(processor).getTemplateVirtualSize((File) Mockito.any());
processor.process(templatePath, null, templateName);
@@
Original Test Code (click to expand)
@Test(expected = InternalErrorException.class)
public void testProcessWhenVirtualSizeThrowsException() throws Exception {
String templatePath = "/tmp";
String templateName = "template";
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
File mockFile = Mockito.mock(File.class);
Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(1000L);
Mockito.doThrow(new IOException("virtual size calculation failed")).when(processor).getTemplateVirtualSize((File) Mockito.any());
processor.process(templatePath, null, templateName);
}
@Before
public void setUp() throws Exception {
processor = Mockito.spy(new QCOW2Processor());
Map<String, Object> params = new HashMap<String, Object>();
params.put(StorageLayer.InstanceConfigKey, mockStorageLayer);
processor.configure("VHD Processor", params);
}
Reusable Method for MCI (click to expand)
public class MockStorageLayer {
public static StorageLayer createMockStorageLayer(long sizeReturn) {
StorageLayer mockStorageLayer = Mockito.mock(StorageLayer.class);
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(sizeReturn);
return mockStorageLayer;
}
}
Test Case ID #cloudstack_Test_122_4
Test Case Name: testProcess(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\QCOW2ProcessorTest.java)
Mock Object Variable Name: mockStorageLayer
Suggested Diff
@@
long virtualSize = 2000;
long actualSize = 1000;
- Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
File mockFile = Mockito.mock(File.class);
- Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
- Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(actualSize);
+ mockStorageLayer = MockStorageLayer.createMockStorageLayer(actualSize);
+ Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize((File) Mockito.any());
Processor.FormatInfo info = processor.process(templatePath, null, templateName);
Assert.assertEquals(Storage.ImageFormat.QCOW2, info.format);
@@
Original Test Code (click to expand)
@Test
public void testProcess() throws Exception {
String templatePath = "/tmp";
String templateName = "template";
long virtualSize = 2000;
long actualSize = 1000;
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
File mockFile = Mockito.mock(File.class);
Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(actualSize);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize((File) Mockito.any());
Processor.FormatInfo info = processor.process(templatePath, null, templateName);
Assert.assertEquals(Storage.ImageFormat.QCOW2, info.format);
Assert.assertEquals(actualSize, info.size);
Assert.assertEquals(virtualSize, info.virtualSize);
Assert.assertEquals(templateName + ".qcow2", info.filename);
}
@Before
public void setUp() throws Exception {
processor = Mockito.spy(new QCOW2Processor());
Map<String, Object> params = new HashMap<String, Object>();
params.put(StorageLayer.InstanceConfigKey, mockStorageLayer);
processor.configure("VHD Processor", params);
}
Reusable Method for MCI (click to expand)
public class MockStorageLayer {
public static StorageLayer createMockStorageLayer(long sizeReturn) {
StorageLayer mockStorageLayer = Mockito.mock(StorageLayer.class);
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(sizeReturn);
return mockStorageLayer;
}
}
Test Case ID #cloudstack_Test_122_5
Test Case Name: testProcessWhenVirtualSizeThrowsException(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\VhdProcessorTest.java)
Mock Object Variable Name: mockStorageLayer
Suggested Diff
@@
String templatePath = "/tmp";
String templateName = "template";
- Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
File mockFile = Mockito.mock(File.class);
- Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
- Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(1000L);
+ mockStorageLayer = MockStorageLayer.createMockStorageLayer(1000L);
+ Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
Mockito.doThrow(new IOException("virtual size calculation failed")).when(processor).getTemplateVirtualSize((File) Mockito.any());
processor.process(templatePath, null, templateName);
@@
Original Test Code (click to expand)
@Test(expected = InternalErrorException.class)
public void testProcessWhenVirtualSizeThrowsException() throws Exception {
String templatePath = "/tmp";
String templateName = "template";
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
File mockFile = Mockito.mock(File.class);
Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(1000L);
Mockito.doThrow(new IOException("virtual size calculation failed")).when(processor).getTemplateVirtualSize((File) Mockito.any());
processor.process(templatePath, null, templateName);
}
@Before
public void setUp() throws Exception {
processor = Mockito.spy(new VhdProcessor());
Map<String, Object> params = new HashMap<String, Object>();
params.put(StorageLayer.InstanceConfigKey, mockStorageLayer);
processor.configure("VHD Processor", params);
}
Reusable Method for MCI (click to expand)
public class MockStorageLayer {
public static StorageLayer createMockStorageLayer(long sizeReturn) {
StorageLayer mockStorageLayer = Mockito.mock(StorageLayer.class);
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(sizeReturn);
return mockStorageLayer;
}
}
Test Case ID #cloudstack_Test_122_6
Test Case Name: testProcess(File: C:\Java_projects\Apache\cloudstack\core\src\test\java\com\cloud\storage\template\VhdProcessorTest.java)
Mock Object Variable Name: mockStorageLayer
Suggested Diff
@@
long virtualSize = 2000;
long actualSize = 1000;
- Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
- File mockFile = Mockito.mock(File.class);
- Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
- Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(actualSize);
+ mockStorageLayer = MockStorageLayer.createMockStorageLayer(actualSize);
+ File mockFile = Mockito.mock(File.class);
+ Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize((File) Mockito.any());
Processor.FormatInfo info = processor.process(templatePath, null, templateName);
Assert.assertEquals(Storage.ImageFormat.VHD, info.format);
@@
Original Test Code (click to expand)
@Test
public void testProcess() throws Exception {
String templatePath = "/tmp";
String templateName = "template";
long virtualSize = 2000;
long actualSize = 1000;
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
File mockFile = Mockito.mock(File.class);
Mockito.when(mockStorageLayer.getFile(Mockito.anyString())).thenReturn(mockFile);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(actualSize);
Mockito.doReturn(virtualSize).when(processor).getTemplateVirtualSize((File) Mockito.any());
Processor.FormatInfo info = processor.process(templatePath, null, templateName);
Assert.assertEquals(Storage.ImageFormat.VHD, info.format);
Assert.assertEquals(actualSize, info.size);
Assert.assertEquals(virtualSize, info.virtualSize);
Assert.assertEquals(templateName + ".vhd", info.filename);
}
@Before
public void setUp() throws Exception {
processor = Mockito.spy(new VhdProcessor());
Map<String, Object> params = new HashMap<String, Object>();
params.put(StorageLayer.InstanceConfigKey, mockStorageLayer);
processor.configure("VHD Processor", params);
}
Reusable Method for MCI (click to expand)
public class MockStorageLayer {
public static StorageLayer createMockStorageLayer(long sizeReturn) {
StorageLayer mockStorageLayer = Mockito.mock(StorageLayer.class);
Mockito.when(mockStorageLayer.exists(Mockito.anyString())).thenReturn(true);
Mockito.when(mockStorageLayer.getSize(Mockito.anyString())).thenReturn(sizeReturn);
return mockStorageLayer;
}
}
Mock Clone Instance #cloudstack_MCI_123
- Scope: method level
- Mocked Class:
java.util.Date
- Test Case Count: 2
- MO Count: 2
Reusable Method
private Date startDate; private Date endDate;
@BeforeEach
public void setUp() {
startDate = mock(Date.class); endDate = mock(Date.class);
}
startDate; endDate;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_123_1
Test Case Name: searchForVmMetricsStatsInternalTestWithAPopulatedListOfVms(File: C:\Java_projects\Apache\cloudstack\plugins\metrics\src\test\java\org\apache\cloudstack\metrics\MetricsServiceImplTest.java)
Mock Object Variable Name: startDate
Suggested Diff
@@
expected.put(fakeVmId1, new ArrayList<VmStatsVO>());
- Date startDate = Mockito.mock(Date.class);
+ // Cannot refactor mock `startDate`: ambiguous mapping or multiple mocks in one statement
Date endDate = Mockito.mock(Date.class);
Map<Long, List<VmStatsVO>> result = spy.searchForVmMetricsStatsInternal(startDate, endDate, Arrays.asList(userVmVOMock));
Original Test Code (click to expand)
@Test
public void searchForVmMetricsStatsInternalTestWithAPopulatedListOfVms() {
Mockito.doNothing().when(spy).validateDateParams(Mockito.any(), Mockito.any());
Mockito.doReturn(new ArrayList<VmStatsVO>()).when(spy).findVmStatsAccordingToDateParams(Mockito.anyLong(), Mockito.any(), Mockito.any());
Mockito.doReturn(fakeVmId1).when(userVmVOMock).getId();
Map<Long, List<VmStatsVO>> expected = new HashMap<Long, List<VmStatsVO>>();
expected.put(fakeVmId1, new ArrayList<VmStatsVO>());
Date startDate = Mockito.mock(Date.class);
Date endDate = Mockito.mock(Date.class);
Map<Long, List<VmStatsVO>> result = spy.searchForVmMetricsStatsInternal(startDate, endDate, Arrays.asList(userVmVOMock));
Mockito.verify(userVmVOMock).getId();
Mockito.verify(spy).findVmStatsAccordingToDateParams(Mockito.anyLong(), Mockito.any(), Mockito.any());
Assert.assertEquals(expected, result);
}
Reusable Method for MCI (click to expand)
private Date startDate; private Date endDate;
@BeforeEach
public void setUp() {
startDate = mock(Date.class); endDate = mock(Date.class);
}
startDate; endDate;
Test Case ID #cloudstack_Test_123_2
Test Case Name: searchForVmMetricsStatsInternalTestWithAnEmptyListOfVms(File: C:\Java_projects\Apache\cloudstack\plugins\metrics\src\test\java\org\apache\cloudstack\metrics\MetricsServiceImplTest.java)
Mock Object Variable Name: startDate
Suggested Diff
@@
+ // Cannot refactor mock `startDate`: ambiguous or invalid new variable name mapping
Original Test Code (click to expand)
@Test
public void searchForVmMetricsStatsInternalTestWithAnEmptyListOfVms() {
Mockito.doNothing().when(spy).validateDateParams(Mockito.any(), Mockito.any());
Map<Long, List<VmStatsVO>> expected = new HashMap<Long, List<VmStatsVO>>();
Date startDate = Mockito.mock(Date.class);
Date endDate = Mockito.mock(Date.class);
Map<Long, List<VmStatsVO>> result = spy.searchForVmMetricsStatsInternal(startDate, endDate, new ArrayList<UserVmVO>());
Mockito.verify(userVmVOMock, Mockito.never()).getId();
Mockito.verify(spy, Mockito.never()).findVmStatsAccordingToDateParams(Mockito.anyLong(), Mockito.any(), Mockito.any());
Assert.assertEquals(expected, result);
}
Reusable Method for MCI (click to expand)
private Date startDate; private Date endDate;
@BeforeEach
public void setUp() {
startDate = mock(Date.class); endDate = mock(Date.class);
}
startDate; endDate;
Mock Clone Instance #cloudstack_MCI_124
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.AutoScaleVmProfileTO
- Test Case Count: 5
- MO Count: 5
Reusable Method
private AutoScaleVmProfileTO profileTO;
@BeforeEach
public void setUp() {
profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
}
profileTO;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_124_1
Test Case Name: isNativeTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: profileTO
Suggested Diff
@@
@Test
public void isNativeTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
- AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ // removed local mock; replaced with global field `profileTO`
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertTrue(result);
}
Original Test Code (click to expand)
@Test
public void isNativeTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private AutoScaleVmProfileTO profileTO;
@BeforeEach
public void setUp() {
profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
}
profileTO;
Test Case ID #cloudstack_Test_124_2
Test Case Name: isNativeFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: profileTO
Suggested Diff
@@
@Test
public void isNativeFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
- AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ // removed local mock; replaced with global field `profileTO`
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertFalse(result);
}
Original Test Code (click to expand)
@Test
public void isNativeFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private AutoScaleVmProfileTO profileTO;
@BeforeEach
public void setUp() {
profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
}
profileTO;
Test Case ID #cloudstack_Test_124_3
Test Case Name: hasSourceVirtualRouterTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: profileTO
Suggested Diff
@@
@Test
public void hasSourceVirtualRouterTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
- AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ // removed local mock; replaced with global field `profileTO`
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertTrue(result);
}
Original Test Code (click to expand)
@Test
public void hasSourceVirtualRouterTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private AutoScaleVmProfileTO profileTO;
@BeforeEach
public void setUp() {
profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
}
profileTO;
Test Case ID #cloudstack_Test_124_4
Test Case Name: hasSourceVirtualRouterFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: profileTO
Suggested Diff
@@
@Test
public void hasSourceVirtualRouterFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
- AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ // removed local mock; replaced with global field `profileTO`
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertFalse(result);
}
Original Test Code (click to expand)
@Test
public void hasSourceVirtualRouterFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private AutoScaleVmProfileTO profileTO;
@BeforeEach
public void setUp() {
profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
}
profileTO;
Test Case ID #cloudstack_Test_124_5
Test Case Name: updateCountersMapWithInstantDataForCPU(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: profileTO
Suggested Diff
@@
@Test
public void updateCountersMapWithInstantDataForCPU() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ // removed local mock; replaced with global field `profileTO`
when(counterDao.findById(counterId)).thenReturn(counterMock);
when(counterMock.getSource()).thenReturn(Counter.Source.CPU);
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
String key = scaleUpPolicyId + "-" + conditionId + "-" + counterId;
countersMap.put(key, (double) 10);
countersNumberMap.put(key, 1);
double value = 0.5;
autoScaleManagerImplSpy.updateCountersMapWithInstantData(countersMap, countersNumberMap, groupTO, counterId, conditionId, scaleUpPolicyId, value, AutoScaleValueType.INSTANT_VM);
Assert.assertEquals(1, countersMap.size());
Assert.assertEquals(1, countersNumberMap.size());
Assert.assertEquals(60, (double) countersMap.get(key), 0);
Assert.assertEquals(2, (long) countersNumberMap.get(key));
}
Original Test Code (click to expand)
@Test
public void updateCountersMapWithInstantDataForCPU() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(counterDao.findById(counterId)).thenReturn(counterMock);
when(counterMock.getSource()).thenReturn(Counter.Source.CPU);
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
String key = scaleUpPolicyId + "-" + conditionId + "-" + counterId;
countersMap.put(key, (double) 10);
countersNumberMap.put(key, 1);
double value = 0.5;
autoScaleManagerImplSpy.updateCountersMapWithInstantData(countersMap, countersNumberMap, groupTO, counterId, conditionId, scaleUpPolicyId, value, AutoScaleValueType.INSTANT_VM);
Assert.assertEquals(1, countersMap.size());
Assert.assertEquals(1, countersNumberMap.size());
Assert.assertEquals(60, (double) countersMap.get(key), 0);
Assert.assertEquals(2, (long) countersNumberMap.get(key));
}
Reusable Method for MCI (click to expand)
private AutoScaleVmProfileTO profileTO;
@BeforeEach
public void setUp() {
profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
}
profileTO;
Mock Clone Instance #cloudstack_MCI_125
- Scope: method level
- Mocked Class:
com.cloud.utils.SwiftUtil.SwiftClientCfg
- Test Case Count: 9
- MO Count: 9
Reusable Method
private static SwiftClientCfg createMockSwiftClientCfg(String endPoint, String account, String userName, String key) {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn(endPoint);
given(cfg.getAccount()).willReturn(account);
given(cfg.getUserName()).willReturn(userName);
given(cfg.getKey()).willReturn(key);
return cfg;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_125_1
Test Case Name: testGetSwiftCmd(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\SwiftUtilTest.java)
Mock Object Variable Name: cfg
Suggested Diff
@@
public void testGetSwiftCmd() {
- SwiftClientCfg cfg = mock(SwiftClientCfg.class);
- given(cfg.getEndPoint()).willReturn("swift.endpoint");
- given(cfg.getAccount()).willReturn("cs");
- given(cfg.getUserName()).willReturn("sec-storage");
- given(cfg.getKey()).willReturn("mypassword");
+ SwiftClientCfg cfg = createMockSwiftClientCfg("swift.endpoint", "cs", "sec-storage", "mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String cmd = SwiftUtil.getSwiftCmd(cfg, "swift", "stat");
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword stat";
assertThat(cmd, is(equalTo(expected)));
}
Original Test Code (click to expand)
@Test
public void testGetSwiftCmd() {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn("swift.endpoint");
given(cfg.getAccount()).willReturn("cs");
given(cfg.getUserName()).willReturn("sec-storage");
given(cfg.getKey()).willReturn("mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String cmd = SwiftUtil.getSwiftCmd(cfg, "swift", "stat");
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword stat";
assertThat(cmd, is(equalTo(expected)));
}
Reusable Method for MCI (click to expand)
private static SwiftClientCfg createMockSwiftClientCfg(String endPoint, String account, String userName, String key) {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn(endPoint);
given(cfg.getAccount()).willReturn(account);
given(cfg.getUserName()).willReturn(userName);
given(cfg.getKey()).willReturn(key);
return cfg;
}
Test Case ID #cloudstack_Test_125_2
Test Case Name: testGetSwiftObjectCmd(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\SwiftUtilTest.java)
Mock Object Variable Name: cfg
Suggested Diff
@@
public void testGetSwiftObjectCmd() {
- SwiftClientCfg cfg = mock(SwiftClientCfg.class);
- given(cfg.getEndPoint()).willReturn("swift.endpoint");
- given(cfg.getAccount()).willReturn("cs");
- given(cfg.getUserName()).willReturn("sec-storage");
- given(cfg.getKey()).willReturn("mypassword");
+ SwiftClientCfg cfg = createMockSwiftClientCfg("swift.endpoint", "cs", "sec-storage", "mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String objectCmd = SwiftUtil.getSwiftObjectCmd(cfg, "swift", "delete", "T-123", "template.vhd");
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword delete T-123 template.vhd";
assertThat(objectCmd, is(equalTo(expected)));
}
Original Test Code (click to expand)
@Test
public void testGetSwiftObjectCmd() {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn("swift.endpoint");
given(cfg.getAccount()).willReturn("cs");
given(cfg.getUserName()).willReturn("sec-storage");
given(cfg.getKey()).willReturn("mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String objectCmd = SwiftUtil.getSwiftObjectCmd(cfg, "swift", "delete", "T-123", "template.vhd");
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword delete T-123 template.vhd";
assertThat(objectCmd, is(equalTo(expected)));
}
Reusable Method for MCI (click to expand)
private static SwiftClientCfg createMockSwiftClientCfg(String endPoint, String account, String userName, String key) {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn(endPoint);
given(cfg.getAccount()).willReturn(account);
given(cfg.getUserName()).willReturn(userName);
given(cfg.getKey()).willReturn(key);
return cfg;
}
Test Case ID #cloudstack_Test_125_3
Test Case Name: testGetSwiftContainerCmd(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\SwiftUtilTest.java)
Mock Object Variable Name: cfg
Suggested Diff
@@
@Test
public void testGetSwiftContainerCmd() {
- SwiftClientCfg cfg = mock(SwiftClientCfg.class);
- given(cfg.getEndPoint()).willReturn("swift.endpoint");
- given(cfg.getAccount()).willReturn("cs");
- given(cfg.getUserName()).willReturn("sec-storage");
- given(cfg.getKey()).willReturn("mypassword");
+ SwiftClientCfg cfg = createMockSwiftClientCfg("swift.endpoint", "cs", "sec-storage", "mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String containerCmd = SwiftUtil.getSwiftContainerCmd(cfg, "swift", "list", "T-123");
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword list T-123";
assertThat(containerCmd, is(equalTo(expected)));
}
Original Test Code (click to expand)
@Test
public void testGetSwiftContainerCmd() {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn("swift.endpoint");
given(cfg.getAccount()).willReturn("cs");
given(cfg.getUserName()).willReturn("sec-storage");
given(cfg.getKey()).willReturn("mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String containerCmd = SwiftUtil.getSwiftContainerCmd(cfg, "swift", "list", "T-123");
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword list T-123";
assertThat(containerCmd, is(equalTo(expected)));
}
Reusable Method for MCI (click to expand)
private static SwiftClientCfg createMockSwiftClientCfg(String endPoint, String account, String userName, String key) {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn(endPoint);
given(cfg.getAccount()).willReturn(account);
given(cfg.getUserName()).willReturn(userName);
given(cfg.getKey()).willReturn(key);
return cfg;
}
Test Case ID #cloudstack_Test_125_4
Test Case Name: testGetUploadCmd(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\SwiftUtilTest.java)
Mock Object Variable Name: cfg
Suggested Diff
@@
public void testGetUploadCmd() {
- SwiftClientCfg cfg = mock(SwiftClientCfg.class);
- given(cfg.getEndPoint()).willReturn("swift.endpoint");
- given(cfg.getAccount()).willReturn("cs");
- given(cfg.getUserName()).willReturn("sec-storage");
- given(cfg.getKey()).willReturn("mypassword");
+ SwiftClientCfg cfg = createMockSwiftClientCfg("swift.endpoint", "cs", "sec-storage", "mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String uploadCmd = SwiftUtil.getUploadObjectCommand(cfg, "swift", "T-1", "template.vhd", 1024);
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword upload T-1 template.vhd";
assertThat(uploadCmd, is(equalTo(expected)));
}
@@
Original Test Code (click to expand)
@Test
public void testGetUploadCmd() {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn("swift.endpoint");
given(cfg.getAccount()).willReturn("cs");
given(cfg.getUserName()).willReturn("sec-storage");
given(cfg.getKey()).willReturn("mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String uploadCmd = SwiftUtil.getUploadObjectCommand(cfg, "swift", "T-1", "template.vhd", 1024);
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword upload T-1 template.vhd";
assertThat(uploadCmd, is(equalTo(expected)));
}
Reusable Method for MCI (click to expand)
private static SwiftClientCfg createMockSwiftClientCfg(String endPoint, String account, String userName, String key) {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn(endPoint);
given(cfg.getAccount()).willReturn(account);
given(cfg.getUserName()).willReturn(userName);
given(cfg.getKey()).willReturn(key);
return cfg;
}
Test Case ID #cloudstack_Test_125_5
Test Case Name: testGetUploadCmdWithSegmentsBecauseOfSize(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\SwiftUtilTest.java)
Mock Object Variable Name: cfg
Suggested Diff
@@
public void testGetUploadCmdWithSegmentsBecauseOfSize() {
- SwiftClientCfg cfg = mock(SwiftClientCfg.class);
- given(cfg.getEndPoint()).willReturn("swift.endpoint");
- given(cfg.getAccount()).willReturn("cs");
- given(cfg.getUserName()).willReturn("sec-storage");
- given(cfg.getKey()).willReturn("mypassword");
+ SwiftClientCfg cfg = createMockSwiftClientCfg("swift.endpoint", "cs", "sec-storage", "mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String uploadCmd = SwiftUtil.getUploadObjectCommand(cfg, "swift", "T-1", "template.vhd", 5368709121L);
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword upload T-1 template.vhd -S 5368709120";
assertThat(uploadCmd, is(equalTo(expected)));
}
@@
Original Test Code (click to expand)
@Test
public void testGetUploadCmdWithSegmentsBecauseOfSize() {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn("swift.endpoint");
given(cfg.getAccount()).willReturn("cs");
given(cfg.getUserName()).willReturn("sec-storage");
given(cfg.getKey()).willReturn("mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String uploadCmd = SwiftUtil.getUploadObjectCommand(cfg, "swift", "T-1", "template.vhd", 5368709121L);
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword upload T-1 template.vhd -S 5368709120";
assertThat(uploadCmd, is(equalTo(expected)));
}
Reusable Method for MCI (click to expand)
private static SwiftClientCfg createMockSwiftClientCfg(String endPoint, String account, String userName, String key) {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn(endPoint);
given(cfg.getAccount()).willReturn(account);
given(cfg.getUserName()).willReturn(userName);
given(cfg.getKey()).willReturn(key);
return cfg;
}
Test Case ID #cloudstack_Test_125_6
Test Case Name: testGetUploadCmdWithStoragePolicy(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\SwiftUtilTest.java)
Mock Object Variable Name: cfg
Suggested Diff
@@
public void testGetUploadCmdWithStoragePolicy() {
- SwiftClientCfg cfg = mock(SwiftClientCfg.class);
- given(cfg.getEndPoint()).willReturn("swift.endpoint");
- given(cfg.getAccount()).willReturn("cs");
- given(cfg.getUserName()).willReturn("sec-storage");
- given(cfg.getKey()).willReturn("mypassword");
+ SwiftClientCfg cfg = createMockSwiftClientCfg("swift.endpoint", "cs", "sec-storage", "mypassword");
given(cfg.getStoragePolicy()).willReturn("policy1");
String uploadCmd = SwiftUtil.getUploadObjectCommand(cfg, "swift", "T-1", "template.vhd", 1024L);
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword upload T-1 template.vhd --storage-policy \"policy1\"";
assertThat(uploadCmd, is(equalTo(expected)));
}
@@
Original Test Code (click to expand)
@Test
public void testGetUploadCmdWithStoragePolicy() {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn("swift.endpoint");
given(cfg.getAccount()).willReturn("cs");
given(cfg.getUserName()).willReturn("sec-storage");
given(cfg.getKey()).willReturn("mypassword");
given(cfg.getStoragePolicy()).willReturn("policy1");
String uploadCmd = SwiftUtil.getUploadObjectCommand(cfg, "swift", "T-1", "template.vhd", 1024L);
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword upload T-1 template.vhd --storage-policy \"policy1\"";
assertThat(uploadCmd, is(equalTo(expected)));
}
Reusable Method for MCI (click to expand)
private static SwiftClientCfg createMockSwiftClientCfg(String endPoint, String account, String userName, String key) {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn(endPoint);
given(cfg.getAccount()).willReturn(account);
given(cfg.getUserName()).willReturn(userName);
given(cfg.getKey()).willReturn(key);
return cfg;
}
Test Case ID #cloudstack_Test_125_7
Test Case Name: testGetUploadCmdWithSegmentsAndStoragePolicy(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\SwiftUtilTest.java)
Mock Object Variable Name: cfg
Suggested Diff
@@
public void testGetUploadCmdWithSegmentsAndStoragePolicy() {
- SwiftClientCfg cfg = mock(SwiftClientCfg.class);
- given(cfg.getEndPoint()).willReturn("swift.endpoint");
- given(cfg.getAccount()).willReturn("cs");
- given(cfg.getUserName()).willReturn("sec-storage");
- given(cfg.getKey()).willReturn("mypassword");
+ SwiftClientCfg cfg = createMockSwiftClientCfg("swift.endpoint", "cs", "sec-storage", "mypassword");
given(cfg.getStoragePolicy()).willReturn("policy1");
String uploadCmd = SwiftUtil.getUploadObjectCommand(cfg, "swift", "T-1", "template.vhd", 5368709121L);
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword upload T-1 template.vhd --storage-policy \"policy1\" -S 5368709120";
assertThat(uploadCmd, is(equalTo(expected)));
}
@@
Original Test Code (click to expand)
@Test
public void testGetUploadCmdWithSegmentsAndStoragePolicy() {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn("swift.endpoint");
given(cfg.getAccount()).willReturn("cs");
given(cfg.getUserName()).willReturn("sec-storage");
given(cfg.getKey()).willReturn("mypassword");
given(cfg.getStoragePolicy()).willReturn("policy1");
String uploadCmd = SwiftUtil.getUploadObjectCommand(cfg, "swift", "T-1", "template.vhd", 5368709121L);
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword upload T-1 template.vhd --storage-policy \"policy1\" -S 5368709120";
assertThat(uploadCmd, is(equalTo(expected)));
}
Reusable Method for MCI (click to expand)
private static SwiftClientCfg createMockSwiftClientCfg(String endPoint, String account, String userName, String key) {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn(endPoint);
given(cfg.getAccount()).willReturn(account);
given(cfg.getUserName()).willReturn(userName);
given(cfg.getKey()).willReturn(key);
return cfg;
}
Test Case ID #cloudstack_Test_125_8
Test Case Name: testListContainerCmdWithStoragePolicyButNotSupportedByOperation(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\SwiftUtilTest.java)
Mock Object Variable Name: cfg
Suggested Diff
@@
@Test
public void testListContainerCmdWithStoragePolicyButNotSupportedByOperation() {
- SwiftClientCfg cfg = mock(SwiftClientCfg.class);
- given(cfg.getEndPoint()).willReturn("swift.endpoint");
- given(cfg.getAccount()).willReturn("cs");
- given(cfg.getUserName()).willReturn("sec-storage");
- given(cfg.getKey()).willReturn("mypassword");
+ SwiftClientCfg cfg = createMockSwiftClientCfg("swift.endpoint", "cs", "sec-storage", "mypassword");
given(cfg.getStoragePolicy()).willReturn("policy1");
String uploadCmd = SwiftUtil.getSwiftContainerCmd(cfg, "swift", "list", "T-1");
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword list T-1";
assertThat(uploadCmd, is(equalTo(expected)));
}
@@
Original Test Code (click to expand)
@Test
public void testListContainerCmdWithStoragePolicyButNotSupportedByOperation() {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn("swift.endpoint");
given(cfg.getAccount()).willReturn("cs");
given(cfg.getUserName()).willReturn("sec-storage");
given(cfg.getKey()).willReturn("mypassword");
given(cfg.getStoragePolicy()).willReturn("policy1");
String uploadCmd = SwiftUtil.getSwiftContainerCmd(cfg, "swift", "list", "T-1");
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword list T-1";
assertThat(uploadCmd, is(equalTo(expected)));
}
Reusable Method for MCI (click to expand)
private static SwiftClientCfg createMockSwiftClientCfg(String endPoint, String account, String userName, String key) {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn(endPoint);
given(cfg.getAccount()).willReturn(account);
given(cfg.getUserName()).willReturn(userName);
given(cfg.getKey()).willReturn(key);
return cfg;
}
Test Case ID #cloudstack_Test_125_9
Test Case Name: testListContainerCmdWithoutStoragePolicy(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\SwiftUtilTest.java)
Mock Object Variable Name: cfg
Suggested Diff
@@
public void testListContainerCmdWithoutStoragePolicy() {
- SwiftClientCfg cfg = mock(SwiftClientCfg.class);
- given(cfg.getEndPoint()).willReturn("swift.endpoint");
- given(cfg.getAccount()).willReturn("cs");
- given(cfg.getUserName()).willReturn("sec-storage");
- given(cfg.getKey()).willReturn("mypassword");
+ SwiftClientCfg cfg = createMockSwiftClientCfg("swift.endpoint", "cs", "sec-storage", "mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String uploadCmd = SwiftUtil.getSwiftContainerCmd(cfg, "swift", "list", "T-1");
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword list T-1";
assertThat(uploadCmd, is(equalTo(expected)));
}
Original Test Code (click to expand)
@Test
public void testListContainerCmdWithoutStoragePolicy() {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn("swift.endpoint");
given(cfg.getAccount()).willReturn("cs");
given(cfg.getUserName()).willReturn("sec-storage");
given(cfg.getKey()).willReturn("mypassword");
given(cfg.getStoragePolicy()).willReturn(null);
String uploadCmd = SwiftUtil.getSwiftContainerCmd(cfg, "swift", "list", "T-1");
String expected = "/usr/bin/python swift -A swift.endpoint -U cs:sec-storage -K mypassword list T-1";
assertThat(uploadCmd, is(equalTo(expected)));
}
Reusable Method for MCI (click to expand)
private static SwiftClientCfg createMockSwiftClientCfg(String endPoint, String account, String userName, String key) {
SwiftClientCfg cfg = mock(SwiftClientCfg.class);
given(cfg.getEndPoint()).willReturn(endPoint);
given(cfg.getAccount()).willReturn(account);
given(cfg.getUserName()).willReturn(userName);
given(cfg.getKey()).willReturn(key);
return cfg;
}
Mock Clone Instance #cloudstack_MCI_126
- Scope: method level
- Mocked Class:
com.cloud.storage.StoragePool
- Test Case Count: 28
- MO Count: 28
Reusable Method
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
The refactoring details in each test cases
Test Case ID #cloudstack_Test_126_1
Test Case Name: testDestroyCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testDestroyCommand() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final Volume volume = Mockito.mock(Volume.class);
final String vmName = "Test";
- final DestroyCommand command = new DestroyCommand(pool, volume, vmName);
+ final DestroyCommand command = new DestroyCommand(pool, volume, vmName);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final VolumeTO vol = command.getVolume();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(vol.getPoolType(), vol.getPoolUuid())).thenReturn(primary);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(vol.getPoolType(), vol.getPoolUuid());
}
Original Test Code (click to expand)
@Test
public void testDestroyCommand() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final Volume volume = Mockito.mock(Volume.class);
final String vmName = "Test";
final DestroyCommand command = new DestroyCommand(pool, volume, vmName);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final VolumeTO vol = command.getVolume();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(vol.getPoolType(), vol.getPoolUuid())).thenReturn(primary);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(vol.getPoolType(), vol.getPoolUuid());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_2
Test Case Name: testDestroyCommandError(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@SuppressWarnings("unchecked")
@Test
public void testDestroyCommandError() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final Volume volume = Mockito.mock(Volume.class);
final String vmName = "Test";
- final DestroyCommand command = new DestroyCommand(pool, volume, vmName);
+ final DestroyCommand command = new DestroyCommand(pool, volume, vmName);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final VolumeTO vol = command.getVolume();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(vol.getPoolType(), vol.getPoolUuid())).thenReturn(primary);
when(primary.deletePhysicalDisk(vol.getPath(), null)).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(vol.getPoolType(), vol.getPoolUuid());
}
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testDestroyCommandError() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final Volume volume = Mockito.mock(Volume.class);
final String vmName = "Test";
final DestroyCommand command = new DestroyCommand(pool, volume, vmName);
final KVMStoragePoolManager poolManager = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final VolumeTO vol = command.getVolume();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(poolManager);
when(poolManager.getStoragePool(vol.getPoolType(), vol.getPoolUuid())).thenReturn(primary);
when(primary.deletePhysicalDisk(vol.getPath(), null)).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(poolManager, times(1)).getStoragePool(vol.getPoolType(), vol.getPoolUuid());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_3
Test Case Name: testPrimaryStorageDownloadCommandNOTemplateDisk(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test(expected = NullPointerException.class)
public void testPrimaryStorageDownloadCommandNOTemplateDisk() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final List<KVMPhysicalDisk> disks = new ArrayList<KVMPhysicalDisk>();
final String name = "Test";
final String url = "http://template/";
final ImageFormat format = ImageFormat.QCOW2;
final long accountId = 1l;
final int wait = 0;
final PrimaryStorageDownloadCommand command = new PrimaryStorageDownloadCommand(name, url, format, accountId, pool, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@Test(expected = NullPointerException.class)
public void testPrimaryStorageDownloadCommandNOTemplateDisk() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final List<KVMPhysicalDisk> disks = new ArrayList<KVMPhysicalDisk>();
final String name = "Test";
final String url = "http://template/";
final ImageFormat format = ImageFormat.QCOW2;
final long accountId = 1l;
final int wait = 0;
final PrimaryStorageDownloadCommand command = new PrimaryStorageDownloadCommand(name, url, format, accountId, pool, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk tmplVol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk primaryVol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk disk = new KVMPhysicalDisk("/path", "disk.qcow2", primaryPool);
disks.add(disk);
final int index = url.lastIndexOf("/");
final String mountpoint = url.substring(0, index);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(mountpoint)).thenReturn(secondaryPool);
when(secondaryPool.listPhysicalDisks()).thenReturn(disks);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), command.getPoolUuid())).thenReturn(primaryPool);
when(storagePoolMgr.copyPhysicalDisk(tmplVol, UUID.randomUUID().toString(), primaryPool, 0)).thenReturn(primaryVol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_4
Test Case Name: testPrimaryStorageDownloadCommandNOTemplateNODisk(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testPrimaryStorageDownloadCommandNOTemplateNODisk() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final List<KVMPhysicalDisk> disks = new ArrayList<KVMPhysicalDisk>();
final String name = "Test";
final String url = "http://template/";
final ImageFormat format = ImageFormat.QCOW2;
final long accountId = 1l;
final int wait = 0;
- final PrimaryStorageDownloadCommand command = new PrimaryStorageDownloadCommand(name, url, format, accountId, pool, wait);
+ final PrimaryStorageDownloadCommand command = new PrimaryStorageDownloadCommand(name, url, format, accountId, pool, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk tmplVol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk primaryVol = Mockito.mock(KVMPhysicalDisk.class);
final int index = url.lastIndexOf("/");
final String mountpoint = url.substring(0, index);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(mountpoint)).thenReturn(secondaryPool);
when(secondaryPool.listPhysicalDisks()).thenReturn(disks);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), command.getPoolUuid())).thenReturn(primaryPool);
when(storagePoolMgr.copyPhysicalDisk(tmplVol, UUID.randomUUID().toString(), primaryPool, 0)).thenReturn(primaryVol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Original Test Code (click to expand)
@Test
public void testPrimaryStorageDownloadCommandNOTemplateNODisk() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final List<KVMPhysicalDisk> disks = new ArrayList<KVMPhysicalDisk>();
final String name = "Test";
final String url = "http://template/";
final ImageFormat format = ImageFormat.QCOW2;
final long accountId = 1l;
final int wait = 0;
final PrimaryStorageDownloadCommand command = new PrimaryStorageDownloadCommand(name, url, format, accountId, pool, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk tmplVol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk primaryVol = Mockito.mock(KVMPhysicalDisk.class);
final int index = url.lastIndexOf("/");
final String mountpoint = url.substring(0, index);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(mountpoint)).thenReturn(secondaryPool);
when(secondaryPool.listPhysicalDisks()).thenReturn(disks);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), command.getPoolUuid())).thenReturn(primaryPool);
when(storagePoolMgr.copyPhysicalDisk(tmplVol, UUID.randomUUID().toString(), primaryPool, 0)).thenReturn(primaryVol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_5
Test Case Name: testPrimaryStorageDownloadCommandNOTemplateNOQcow2(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testPrimaryStorageDownloadCommandNOTemplateNOQcow2() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final List<KVMPhysicalDisk> disks = new ArrayList<KVMPhysicalDisk>();
final List<KVMPhysicalDisk> spiedDisks = Mockito.spy(disks);
Original Test Code (click to expand)
@Test
public void testPrimaryStorageDownloadCommandNOTemplateNOQcow2() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final List<KVMPhysicalDisk> disks = new ArrayList<KVMPhysicalDisk>();
final List<KVMPhysicalDisk> spiedDisks = Mockito.spy(disks);
final String name = "Test";
final String url = "http://template/";
final ImageFormat format = ImageFormat.QCOW2;
final long accountId = 1l;
final int wait = 0;
final PrimaryStorageDownloadCommand command = new PrimaryStorageDownloadCommand(name, url, format, accountId, pool, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk tmplVol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk primaryVol = Mockito.mock(KVMPhysicalDisk.class);
final int index = url.lastIndexOf("/");
final String mountpoint = url.substring(0, index);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(mountpoint)).thenReturn(secondaryPool);
when(secondaryPool.listPhysicalDisks()).thenReturn(spiedDisks);
when(spiedDisks.isEmpty()).thenReturn(false);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), command.getPoolUuid())).thenReturn(primaryPool);
when(storagePoolMgr.copyPhysicalDisk(tmplVol, UUID.randomUUID().toString(), primaryPool, 0)).thenReturn(primaryVol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_6
Test Case Name: testPrimaryStorageDownloadCommandTemplateNoDisk(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test(expected = NullPointerException.class)
public void testPrimaryStorageDownloadCommandTemplateNoDisk() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String name = "Test";
final String url = "http://template/template.qcow2";
final ImageFormat format = ImageFormat.VHD;
final long accountId = 1l;
final int wait = 0;
- final PrimaryStorageDownloadCommand command = new PrimaryStorageDownloadCommand(name, url, format, accountId, pool, wait);
+ final PrimaryStorageDownloadCommand command = new PrimaryStorageDownloadCommand(name, url, format, accountId, pool, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk tmplVol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk primaryVol = Mockito.mock(KVMPhysicalDisk.class);
final int index = url.lastIndexOf("/");
final String mountpoint = url.substring(0, index);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(mountpoint)).thenReturn(secondaryPool);
when(secondaryPool.getPhysicalDisk("template.qcow2")).thenReturn(tmplVol);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), command.getPoolUuid())).thenReturn(primaryPool);
when(storagePoolMgr.copyPhysicalDisk(tmplVol, UUID.randomUUID().toString(), primaryPool, 0)).thenReturn(primaryVol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePool(command.getPool().getType(), command.getPoolUuid());
}
Original Test Code (click to expand)
@Test(expected = NullPointerException.class)
public void testPrimaryStorageDownloadCommandTemplateNoDisk() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final String name = "Test";
final String url = "http://template/template.qcow2";
final ImageFormat format = ImageFormat.VHD;
final long accountId = 1l;
final int wait = 0;
final PrimaryStorageDownloadCommand command = new PrimaryStorageDownloadCommand(name, url, format, accountId, pool, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk tmplVol = Mockito.mock(KVMPhysicalDisk.class);
final KVMPhysicalDisk primaryVol = Mockito.mock(KVMPhysicalDisk.class);
final int index = url.lastIndexOf("/");
final String mountpoint = url.substring(0, index);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(mountpoint)).thenReturn(secondaryPool);
when(secondaryPool.getPhysicalDisk("template.qcow2")).thenReturn(tmplVol);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), command.getPoolUuid())).thenReturn(primaryPool);
when(storagePoolMgr.copyPhysicalDisk(tmplVol, UUID.randomUUID().toString(), primaryPool, 0)).thenReturn(primaryVol);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePool(command.getPool().getType(), command.getPoolUuid());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_7
Test Case Name: testUpgradeSnapshotCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testUpgradeSnapshotCommand() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
;
final String secondaryStoragePoolURL = "url";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final Long templateId = 1l;
final Long tmpltAccountId = 1l;
final String volumePath = "/opt/path";
final String snapshotUuid = "uuid:/8edb1156-a851-4914-afc6-468ee52ac861/";
final String snapshotName = "uuid:/8edb1156-a851-4914-afc6-468ee52ac861/";
final String version = "1";
- final UpgradeSnapshotCommand command = new UpgradeSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, templateId, tmpltAccountId, volumePath, snapshotUuid, snapshotName, version);
+ final UpgradeSnapshotCommand command = new UpgradeSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, templateId, tmpltAccountId, volumePath, snapshotUuid, snapshotName, version);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
}
Original Test Code (click to expand)
@Test
public void testUpgradeSnapshotCommand() {
final StoragePool pool = Mockito.mock(StoragePool.class);
;
final String secondaryStoragePoolURL = "url";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final Long templateId = 1l;
final Long tmpltAccountId = 1l;
final String volumePath = "/opt/path";
final String snapshotUuid = "uuid:/8edb1156-a851-4914-afc6-468ee52ac861/";
final String snapshotName = "uuid:/8edb1156-a851-4914-afc6-468ee52ac861/";
final String version = "1";
final UpgradeSnapshotCommand command = new UpgradeSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, templateId, tmpltAccountId, volumePath, snapshotUuid, snapshotName, version);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_8
Test Case Name: testDeleteStoragePoolCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: storagePool
Suggested Diff
@@
@Test
public void testDeleteStoragePoolCommand() {
- final StoragePool storagePool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
- final DeleteStoragePoolCommand command = new DeleteStoragePoolCommand(storagePool);
+ final DeleteStoragePoolCommand command = new DeleteStoragePoolCommand(pool);
final StorageFilerTO pool = command.getPool();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.deleteStoragePool(pool.getType(), pool.getUuid())).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).deleteStoragePool(pool.getType(), pool.getUuid());
}
Original Test Code (click to expand)
@Test
public void testDeleteStoragePoolCommand() {
final StoragePool storagePool = Mockito.mock(StoragePool.class);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final DeleteStoragePoolCommand command = new DeleteStoragePoolCommand(storagePool);
final StorageFilerTO pool = command.getPool();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.deleteStoragePool(pool.getType(), pool.getUuid())).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).deleteStoragePool(pool.getType(), pool.getUuid());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_9
Test Case Name: testDeleteStoragePoolCommandException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: storagePool
Suggested Diff
@@
@Test
public void testDeleteStoragePoolCommandException() {
- final StoragePool storagePool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
- final DeleteStoragePoolCommand command = new DeleteStoragePoolCommand(storagePool);
+ final DeleteStoragePoolCommand command = new DeleteStoragePoolCommand(pool);
final StorageFilerTO pool = command.getPool();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.deleteStoragePool(pool.getType(), pool.getUuid())).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).deleteStoragePool(pool.getType(), pool.getUuid());
}
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testDeleteStoragePoolCommandException() {
final StoragePool storagePool = Mockito.mock(StoragePool.class);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final DeleteStoragePoolCommand command = new DeleteStoragePoolCommand(storagePool);
final StorageFilerTO pool = command.getPool();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.deleteStoragePool(pool.getType(), pool.getUuid())).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).deleteStoragePool(pool.getType(), pool.getUuid());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_10
Test Case Name: testCreateStoragePoolCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testCreateStoragePoolCommand() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final CreateStoragePoolCommand command = new CreateStoragePoolCommand(true, pool);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
}
Original Test Code (click to expand)
@Test
public void testCreateStoragePoolCommand() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final CreateStoragePoolCommand command = new CreateStoragePoolCommand(true, pool);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_11
Test Case Name: testModifyStoragePoolCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testModifyStoragePoolCommand() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
;
final ModifyStoragePoolCommand command = new ModifyStoragePoolCommand(true, pool);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@Test
public void testModifyStoragePoolCommand() {
final StoragePool pool = Mockito.mock(StoragePool.class);
;
final ModifyStoragePoolCommand command = new ModifyStoragePoolCommand(true, pool);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool kvmStoragePool = Mockito.mock(KVMStoragePool.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.createStoragePool(command.getPool().getUuid(), command.getPool().getHost(), command.getPool().getPort(), command.getPool().getPath(), command.getPool().getUserInfo(), command.getPool().getType(), command.getDetails())).thenReturn(kvmStoragePool);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).createStoragePool(command.getPool().getUuid(), command.getPool().getHost(), command.getPool().getPort(), command.getPool().getPath(), command.getPool().getUserInfo(), command.getPool().getType(), command.getDetails());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_12
Test Case Name: testModifyStoragePoolCommandFailure(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testModifyStoragePoolCommandFailure() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
;
final ModifyStoragePoolCommand command = new ModifyStoragePoolCommand(true, pool);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.createStoragePool(command.getPool().getUuid(), command.getPool().getHost(), command.getPool().getPort(), command.getPool().getPath(), command.getPool().getUserInfo(), command.getPool().getType(), command.getDetails())).thenReturn(null);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).createStoragePool(command.getPool().getUuid(), command.getPool().getHost(), command.getPool().getPort(), command.getPool().getPath(), command.getPool().getUserInfo(), command.getPool().getType(), command.getDetails());
}
Original Test Code (click to expand)
@Test
public void testModifyStoragePoolCommandFailure() {
final StoragePool pool = Mockito.mock(StoragePool.class);
;
final ModifyStoragePoolCommand command = new ModifyStoragePoolCommand(true, pool);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.createStoragePool(command.getPool().getUuid(), command.getPool().getHost(), command.getPool().getPort(), command.getPool().getPath(), command.getPool().getUserInfo(), command.getPool().getType(), command.getDetails())).thenReturn(null);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).createStoragePool(command.getPool().getUuid(), command.getPool().getHost(), command.getPool().getPort(), command.getPool().getPath(), command.getPool().getUserInfo(), command.getPool().getType(), command.getDetails());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_13
Test Case Name: testCreateVolumeFromSnapshotCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testCreateVolumeFromSnapshotCommand() {
- // This tests asserts to False because there will be a NPE due to UUID static method calls.
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "/opt/storage/";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "uuid:/8edb1156-a851-4914-afc6-468ee52ac861/";
final String backedUpSnapshotName = "uuid:/8edb1156-a851-4914-afc6-468ee52ac862/";
final int wait = 0;
final CreateVolumeFromSnapshotCommand command = new CreateVolumeFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@Test
public void testCreateVolumeFromSnapshotCommand() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "/opt/storage/";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "uuid:/8edb1156-a851-4914-afc6-468ee52ac861/";
final String backedUpSnapshotName = "uuid:/8edb1156-a851-4914-afc6-468ee52ac862/";
final int wait = 0;
final CreateVolumeFromSnapshotCommand command = new CreateVolumeFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk snapshot = Mockito.mock(KVMPhysicalDisk.class);
final KVMStoragePool primaryPool = Mockito.mock(KVMStoragePool.class);
String snapshotPath = command.getSnapshotUuid();
final int index = snapshotPath.lastIndexOf("/");
snapshotPath = snapshotPath.substring(0, index);
final String primaryUuid = command.getPrimaryStoragePoolNameLabel();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath)).thenReturn(secondaryPool);
when(secondaryPool.getPhysicalDisk(command.getSnapshotName())).thenReturn(snapshot);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), primaryUuid)).thenReturn(primaryPool);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath);
verify(secondaryPool, times(1)).getPhysicalDisk(command.getSnapshotName());
verify(storagePoolMgr, times(1)).getStoragePool(command.getPool().getType(), primaryUuid);
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_14
Test Case Name: testCreateVolumeFromSnapshotCommandCloudException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@SuppressWarnings("unchecked")
@Test
public void testCreateVolumeFromSnapshotCommandCloudException() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "/opt/storage/";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "uuid:/8edb1156-a851-4914-afc6-468ee52ac861/";
final String backedUpSnapshotName = "uuid:/8edb1156-a851-4914-afc6-468ee52ac862/";
final int wait = 0;
- final CreateVolumeFromSnapshotCommand command = new CreateVolumeFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, wait);
+ final CreateVolumeFromSnapshotCommand command = new CreateVolumeFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk snapshot = Mockito.mock(KVMPhysicalDisk.class);
String snapshotPath = command.getSnapshotUuid();
final int index = snapshotPath.lastIndexOf("/");
snapshotPath = snapshotPath.substring(0, index);
final String primaryUuid = command.getPrimaryStoragePoolNameLabel();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath)).thenReturn(secondaryPool);
when(secondaryPool.getPhysicalDisk(command.getSnapshotName())).thenReturn(snapshot);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), primaryUuid)).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath);
verify(secondaryPool, times(1)).getPhysicalDisk(command.getSnapshotName());
verify(storagePoolMgr, times(1)).getStoragePool(command.getPool().getType(), primaryUuid);
}
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testCreateVolumeFromSnapshotCommandCloudException() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "/opt/storage/";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "uuid:/8edb1156-a851-4914-afc6-468ee52ac861/";
final String backedUpSnapshotName = "uuid:/8edb1156-a851-4914-afc6-468ee52ac862/";
final int wait = 0;
final CreateVolumeFromSnapshotCommand command = new CreateVolumeFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk snapshot = Mockito.mock(KVMPhysicalDisk.class);
String snapshotPath = command.getSnapshotUuid();
final int index = snapshotPath.lastIndexOf("/");
snapshotPath = snapshotPath.substring(0, index);
final String primaryUuid = command.getPrimaryStoragePoolNameLabel();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath)).thenReturn(secondaryPool);
when(secondaryPool.getPhysicalDisk(command.getSnapshotName())).thenReturn(snapshot);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), primaryUuid)).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath);
verify(secondaryPool, times(1)).getPhysicalDisk(command.getSnapshotName());
verify(storagePoolMgr, times(1)).getStoragePool(command.getPool().getType(), primaryUuid);
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_15
Test Case Name: testCreatePrivateTemplateFromVolumeCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testCreatePrivateTemplateFromVolumeCommand() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
;
final String secondaryStorageUrl = "nfs:/127.0.0.1/storage/secondary";
final long templateId = 1l;
final long accountId = 1l;
final String userSpecifiedName = "User";
final String uniqueName = "Unique";
final String volumePath = "/123/vol";
final String vmName = "Test";
final int wait = 0;
- final CreatePrivateTemplateFromVolumeCommand command = new CreatePrivateTemplateFromVolumeCommand(pool, secondaryStorageUrl, templateId, accountId, userSpecifiedName, uniqueName, volumePath, vmName, wait);
+ final CreatePrivateTemplateFromVolumeCommand command = new CreatePrivateTemplateFromVolumeCommand(pool, secondaryStorageUrl, templateId, accountId, userSpecifiedName, uniqueName, volumePath, vmName, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryStorage = Mockito.mock(KVMStoragePool.class);
//final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(secondaryStorageUrl)).thenReturn(secondaryStorage);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), command.getPrimaryStoragePoolNameLabel())).thenThrow(new CloudRuntimeException("error"));
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(secondaryStorageUrl);
verify(storagePoolMgr, times(1)).getStoragePool(command.getPool().getType(), command.getPrimaryStoragePoolNameLabel());
}
Original Test Code (click to expand)
@Test
public void testCreatePrivateTemplateFromVolumeCommand() {
final StoragePool pool = Mockito.mock(StoragePool.class);
;
final String secondaryStorageUrl = "nfs:/127.0.0.1/storage/secondary";
final long templateId = 1l;
final long accountId = 1l;
final String userSpecifiedName = "User";
final String uniqueName = "Unique";
final String volumePath = "/123/vol";
final String vmName = "Test";
final int wait = 0;
final CreatePrivateTemplateFromVolumeCommand command = new CreatePrivateTemplateFromVolumeCommand(pool, secondaryStorageUrl, templateId, accountId, userSpecifiedName, uniqueName, volumePath, vmName, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryStorage = Mockito.mock(KVMStoragePool.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePoolByURI(secondaryStorageUrl)).thenReturn(secondaryStorage);
when(storagePoolMgr.getStoragePool(command.getPool().getType(), command.getPrimaryStoragePoolNameLabel())).thenThrow(new CloudRuntimeException("error"));
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(secondaryStorageUrl);
verify(storagePoolMgr, times(1)).getStoragePool(command.getPool().getType(), command.getPrimaryStoragePoolNameLabel());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_16
Test Case Name: testManageSnapshotCommandLibvirtException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@SuppressWarnings("unchecked")
@Test
public void testManageSnapshotCommandLibvirtException() {
- //Simple test used to make sure the flow (LibvirtComputingResource => Request => CommandWrapper) is working.
- //The code is way to big and complex. Will finish the refactor and come back to this to add more cases.
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ //Simple test used to make sure the flow (LibvirtComputingResource => Request => CommandWrapper) is working.
+ //The code is way to big and complex. Will finish the refactor and come back to this to add more cases.
+ // removed local mock; replaced with global field `pool`
;
final String volumePath = "/123/vol";
final String vmName = "Test";
final long snapshotId = 1l;
final String preSnapshotPath = "/snapshot/path";
final String snapshotName = "snap";
- final ManageSnapshotCommand command = new ManageSnapshotCommand(snapshotId, volumePath, pool, preSnapshotPath, snapshotName, vmName);
+ final ManageSnapshotCommand command = new ManageSnapshotCommand(snapshotId, volumePath, pool, preSnapshotPath, snapshotName, vmName);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
//final Connect conn = Mockito.mock(Connect.class);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testManageSnapshotCommandLibvirtException() {
final StoragePool pool = Mockito.mock(StoragePool.class);
;
final String volumePath = "/123/vol";
final String vmName = "Test";
final long snapshotId = 1l;
final String preSnapshotPath = "/snapshot/path";
final String snapshotName = "snap";
final ManageSnapshotCommand command = new ManageSnapshotCommand(snapshotId, volumePath, pool, preSnapshotPath, snapshotName, vmName);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_17
Test Case Name: testManageSnapshotCommandLibvirt(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: storagePool
Suggested Diff
@@
@Test
public void testManageSnapshotCommandLibvirt() {
- final StoragePool storagePool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
;
final String volumePath = "/123/vol";
final String vmName = "Test";
final long snapshotId = 1l;
final String preSnapshotPath = "/snapshot/path";
final String snapshotName = "snap";
- final ManageSnapshotCommand command = new ManageSnapshotCommand(snapshotId, volumePath, storagePool, preSnapshotPath, snapshotName, vmName);
+ final ManageSnapshotCommand command = new ManageSnapshotCommand(snapshotId, volumePath, pool, preSnapshotPath, snapshotName, vmName);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
Original Test Code (click to expand)
@Test
public void testManageSnapshotCommandLibvirt() {
final StoragePool storagePool = Mockito.mock(StoragePool.class);
;
final String volumePath = "/123/vol";
final String vmName = "Test";
final long snapshotId = 1l;
final String preSnapshotPath = "/snapshot/path";
final String snapshotName = "snap";
final ManageSnapshotCommand command = new ManageSnapshotCommand(snapshotId, volumePath, storagePool, preSnapshotPath, snapshotName, vmName);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool primaryPool = Mockito.mock(KVMStoragePool.class);
final Domain vm = Mockito.mock(Domain.class);
final DomainInfo info = Mockito.mock(DomainInfo.class);
final DomainState state = DomainInfo.DomainState.VIR_DOMAIN_RUNNING;
info.state = state;
final KVMPhysicalDisk disk = Mockito.mock(KVMPhysicalDisk.class);
final StorageFilerTO pool = command.getPool();
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vmName)).thenReturn(conn);
when(libvirtComputingResourceMock.getDomain(conn, command.getVmName())).thenReturn(vm);
when(vm.getInfo()).thenReturn(info);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primaryPool);
when(primaryPool.getPhysicalDisk(command.getVolumePath())).thenReturn(disk);
when(primaryPool.isExternalSnapshot()).thenReturn(false);
try {
when(vm.getUUIDString()).thenReturn("cdb18980-546d-4153-b916-70ee9edf0908");
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vmName);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_18
Test Case Name: testBackupSnapshotCommandLibvirtException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testBackupSnapshotCommandLibvirtException() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
;
final String secondaryStorageUrl = "nfs:/127.0.0.1/storage/secondary";
final long accountId = 1l;
final String volumePath = "/123/vol";
final String vmName = "Test";
final int wait = 0;
final long snapshotId = 1l;
final String snapshotName = "snap";
final Long dcId = 1l;
final Long volumeId = 1l;
final Long secHostId = 1l;
final String snapshotUuid = "9a0afe7c-26a7-4585-bf87-abf82ae106d9";
final String prevBackupUuid = "003a0cc2-2e04-417a-bee0-534ef1724561";
final boolean isVolumeInactive = false;
final String prevSnapshotUuid = "1791efae-f22d-474b-87c6-92547d6c5877";
- final BackupSnapshotCommand command = new BackupSnapshotCommand(secondaryStorageUrl, dcId, accountId, volumeId, snapshotId, secHostId, volumePath, pool, snapshotUuid, snapshotName, prevSnapshotUuid, prevBackupUuid, isVolumeInactive, vmName, wait);
+ final BackupSnapshotCommand command = new BackupSnapshotCommand(secondaryStorageUrl, dcId, accountId, volumeId, snapshotId, secHostId, volumePath, pool, snapshotUuid, snapshotName, prevSnapshotUuid, prevBackupUuid, isVolumeInactive, vmName, wait);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
//final Connect conn = Mockito.mock(Connect.class);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testBackupSnapshotCommandLibvirtException() {
final StoragePool pool = Mockito.mock(StoragePool.class);
;
final String secondaryStorageUrl = "nfs:/127.0.0.1/storage/secondary";
final long accountId = 1l;
final String volumePath = "/123/vol";
final String vmName = "Test";
final int wait = 0;
final long snapshotId = 1l;
final String snapshotName = "snap";
final Long dcId = 1l;
final Long volumeId = 1l;
final Long secHostId = 1l;
final String snapshotUuid = "9a0afe7c-26a7-4585-bf87-abf82ae106d9";
final String prevBackupUuid = "003a0cc2-2e04-417a-bee0-534ef1724561";
final boolean isVolumeInactive = false;
final String prevSnapshotUuid = "1791efae-f22d-474b-87c6-92547d6c5877";
final BackupSnapshotCommand command = new BackupSnapshotCommand(secondaryStorageUrl, dcId, accountId, volumeId, snapshotId, secHostId, volumePath, pool, snapshotUuid, snapshotName, prevSnapshotUuid, prevBackupUuid, isVolumeInactive, vmName, wait);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(command.getVmName())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(command.getVmName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_19
Test Case Name: testCreatePrivateTemplateFromSnapshotCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testCreatePrivateTemplateFromSnapshotCommand() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long dcId = 1l;
final Long accountId = 1l;
Original Test Code (click to expand)
@Test
public void testCreatePrivateTemplateFromSnapshotCommand() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "/run/9a0afe7c-26a7-4585-bf87-abf82ae106d9/";
final String backedUpSnapshotName = "snap";
final String origTemplateInstallPath = "/install/path/";
final Long newTemplateId = 2l;
final String templateName = "templ";
final int wait = 0;
final CreatePrivateTemplateFromSnapshotCommand command = new CreatePrivateTemplateFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, origTemplateInstallPath, newTemplateId, templateName, wait);
final String templatePath = "/template/path";
final String localPath = "/mnt/local";
final String tmplName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool snapshotPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk snapshot = Mockito.mock(KVMPhysicalDisk.class);
final StorageLayer storage = Mockito.mock(StorageLayer.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final TemplateLocation location = Mockito.mock(TemplateLocation.class);
final Processor qcow2Processor = Mockito.mock(Processor.class);
final FormatInfo info = Mockito.mock(FormatInfo.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
String snapshotPath = command.getSnapshotUuid();
final int index = snapshotPath.lastIndexOf("/");
snapshotPath = snapshotPath.substring(0, index);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath)).thenReturn(snapshotPool);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl())).thenReturn(secondaryPool);
when(snapshotPool.getPhysicalDisk(command.getSnapshotName())).thenReturn(snapshot);
when(secondaryPool.getLocalPath()).thenReturn(localPath);
when(libvirtComputingResourceMock.getStorage()).thenReturn(storage);
when(libvirtComputingResourceMock.createTmplPath()).thenReturn(templatePath);
when(libvirtComputingResourceMock.getCmdsTimeout()).thenReturn(1);
final String templateFolder = command.getAccountId() + File.separator + command.getNewTemplateId();
final String templateInstallFolder = "template/tmpl/" + templateFolder;
final String tmplPath = secondaryPool.getLocalPath() + File.separator + templateInstallFolder;
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.buildTemplateLocation(storage, tmplPath)).thenReturn(location);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
try {
when(libvirtUtilitiesHelper.buildQCOW2Processor(storage)).thenReturn(qcow2Processor);
when(qcow2Processor.process(tmplPath, null, tmplName)).thenReturn(info);
} catch (final ConfigurationException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath);
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_20
Test Case Name: testCreatePrivateTemplateFromSnapshotCommandConfigurationException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@SuppressWarnings("unchecked")
@Test
public void testCreatePrivateTemplateFromSnapshotCommandConfigurationException() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "/run/9a0afe7c-26a7-4585-bf87-abf82ae106d9/";
final String backedUpSnapshotName = "snap";
final String origTemplateInstallPath = "/install/path/";
final Long newTemplateId = 2l;
final String templateName = "templ";
final int wait = 0;
final CreatePrivateTemplateFromSnapshotCommand command = new CreatePrivateTemplateFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, origTemplateInstallPath, newTemplateId, templateName, wait);
final String templatePath = "/template/path";
final String localPath = "/mnt/local";
final String tmplName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool snapshotPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk snapshot = Mockito.mock(KVMPhysicalDisk.class);
final StorageLayer storage = Mockito.mock(StorageLayer.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final TemplateLocation location = Mockito.mock(TemplateLocation.class);
final Processor qcow2Processor = Mockito.mock(Processor.class);
final FormatInfo info = Mockito.mock(FormatInfo.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
String snapshotPath = command.getSnapshotUuid();
final int index = snapshotPath.lastIndexOf("/");
snapshotPath = snapshotPath.substring(0, index);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath)).thenReturn(snapshotPool);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl())).thenReturn(secondaryPool);
when(snapshotPool.getPhysicalDisk(command.getSnapshotName())).thenReturn(snapshot);
when(secondaryPool.getLocalPath()).thenReturn(localPath);
when(libvirtComputingResourceMock.getStorage()).thenReturn(storage);
when(libvirtComputingResourceMock.createTmplPath()).thenReturn(templatePath);
when(libvirtComputingResourceMock.getCmdsTimeout()).thenReturn(1);
final String templateFolder = command.getAccountId() + File.separator + command.getNewTemplateId();
final String templateInstallFolder = "template/tmpl/" + templateFolder;
final String tmplPath = secondaryPool.getLocalPath() + File.separator + templateInstallFolder;
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.buildTemplateLocation(storage, tmplPath)).thenReturn(location);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
try {
when(libvirtUtilitiesHelper.buildQCOW2Processor(storage)).thenThrow(ConfigurationException.class);
when(qcow2Processor.process(tmplPath, null, tmplName)).thenReturn(info);
} catch (final ConfigurationException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath);
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl());
}
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testCreatePrivateTemplateFromSnapshotCommandConfigurationException() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "/run/9a0afe7c-26a7-4585-bf87-abf82ae106d9/";
final String backedUpSnapshotName = "snap";
final String origTemplateInstallPath = "/install/path/";
final Long newTemplateId = 2l;
final String templateName = "templ";
final int wait = 0;
final CreatePrivateTemplateFromSnapshotCommand command = new CreatePrivateTemplateFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, origTemplateInstallPath, newTemplateId, templateName, wait);
final String templatePath = "/template/path";
final String localPath = "/mnt/local";
final String tmplName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool snapshotPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk snapshot = Mockito.mock(KVMPhysicalDisk.class);
final StorageLayer storage = Mockito.mock(StorageLayer.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final TemplateLocation location = Mockito.mock(TemplateLocation.class);
final Processor qcow2Processor = Mockito.mock(Processor.class);
final FormatInfo info = Mockito.mock(FormatInfo.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
String snapshotPath = command.getSnapshotUuid();
final int index = snapshotPath.lastIndexOf("/");
snapshotPath = snapshotPath.substring(0, index);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath)).thenReturn(snapshotPool);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl())).thenReturn(secondaryPool);
when(snapshotPool.getPhysicalDisk(command.getSnapshotName())).thenReturn(snapshot);
when(secondaryPool.getLocalPath()).thenReturn(localPath);
when(libvirtComputingResourceMock.getStorage()).thenReturn(storage);
when(libvirtComputingResourceMock.createTmplPath()).thenReturn(templatePath);
when(libvirtComputingResourceMock.getCmdsTimeout()).thenReturn(1);
final String templateFolder = command.getAccountId() + File.separator + command.getNewTemplateId();
final String templateInstallFolder = "template/tmpl/" + templateFolder;
final String tmplPath = secondaryPool.getLocalPath() + File.separator + templateInstallFolder;
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.buildTemplateLocation(storage, tmplPath)).thenReturn(location);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
try {
when(libvirtUtilitiesHelper.buildQCOW2Processor(storage)).thenThrow(ConfigurationException.class);
when(qcow2Processor.process(tmplPath, null, tmplName)).thenReturn(info);
} catch (final ConfigurationException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath);
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_21
Test Case Name: testCreatePrivateTemplateFromSnapshotCommandInternalErrorException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@SuppressWarnings("unchecked")
@Test
public void testCreatePrivateTemplateFromSnapshotCommandInternalErrorException() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long dcId = 1l;
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testCreatePrivateTemplateFromSnapshotCommandInternalErrorException() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "/run/9a0afe7c-26a7-4585-bf87-abf82ae106d9/";
final String backedUpSnapshotName = "snap";
final String origTemplateInstallPath = "/install/path/";
final Long newTemplateId = 2l;
final String templateName = "templ";
final int wait = 0;
final CreatePrivateTemplateFromSnapshotCommand command = new CreatePrivateTemplateFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, origTemplateInstallPath, newTemplateId, templateName, wait);
final String templatePath = "/template/path";
final String localPath = "/mnt/local";
final String tmplName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool snapshotPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk snapshot = Mockito.mock(KVMPhysicalDisk.class);
final StorageLayer storage = Mockito.mock(StorageLayer.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final TemplateLocation location = Mockito.mock(TemplateLocation.class);
final Processor qcow2Processor = Mockito.mock(Processor.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
String snapshotPath = command.getSnapshotUuid();
final int index = snapshotPath.lastIndexOf("/");
snapshotPath = snapshotPath.substring(0, index);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath)).thenReturn(snapshotPool);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl())).thenReturn(secondaryPool);
when(snapshotPool.getPhysicalDisk(command.getSnapshotName())).thenReturn(snapshot);
when(secondaryPool.getLocalPath()).thenReturn(localPath);
when(libvirtComputingResourceMock.getStorage()).thenReturn(storage);
when(libvirtComputingResourceMock.createTmplPath()).thenReturn(templatePath);
when(libvirtComputingResourceMock.getCmdsTimeout()).thenReturn(1);
final String templateFolder = command.getAccountId() + File.separator + command.getNewTemplateId();
final String templateInstallFolder = "template/tmpl/" + templateFolder;
final String tmplPath = secondaryPool.getLocalPath() + File.separator + templateInstallFolder;
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.buildTemplateLocation(storage, tmplPath)).thenReturn(location);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
try {
when(libvirtUtilitiesHelper.buildQCOW2Processor(storage)).thenReturn(qcow2Processor);
when(qcow2Processor.process(tmplPath, null, tmplName)).thenThrow(InternalErrorException.class);
} catch (final ConfigurationException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath);
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_22
Test Case Name: testCreatePrivateTemplateFromSnapshotCommandIOException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@SuppressWarnings("unchecked")
@Test
public void testCreatePrivateTemplateFromSnapshotCommandIOException() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long dcId = 1l;
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testCreatePrivateTemplateFromSnapshotCommandIOException() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "/run/9a0afe7c-26a7-4585-bf87-abf82ae106d9/";
final String backedUpSnapshotName = "snap";
final String origTemplateInstallPath = "/install/path/";
final Long newTemplateId = 2l;
final String templateName = "templ";
final int wait = 0;
final CreatePrivateTemplateFromSnapshotCommand command = new CreatePrivateTemplateFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, origTemplateInstallPath, newTemplateId, templateName, wait);
final String templatePath = "/template/path";
final String localPath = "/mnt/local";
final String tmplName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool snapshotPool = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk snapshot = Mockito.mock(KVMPhysicalDisk.class);
final StorageLayer storage = Mockito.mock(StorageLayer.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final TemplateLocation location = Mockito.mock(TemplateLocation.class);
final Processor qcow2Processor = Mockito.mock(Processor.class);
final FormatInfo info = Mockito.mock(FormatInfo.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
String snapshotPath = command.getSnapshotUuid();
final int index = snapshotPath.lastIndexOf("/");
snapshotPath = snapshotPath.substring(0, index);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath)).thenReturn(snapshotPool);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl())).thenReturn(secondaryPool);
when(snapshotPool.getPhysicalDisk(command.getSnapshotName())).thenReturn(snapshot);
when(secondaryPool.getLocalPath()).thenReturn(localPath);
when(libvirtComputingResourceMock.getStorage()).thenReturn(storage);
when(libvirtComputingResourceMock.createTmplPath()).thenReturn(templatePath);
when(libvirtComputingResourceMock.getCmdsTimeout()).thenReturn(1);
final String templateFolder = command.getAccountId() + File.separator + command.getNewTemplateId();
final String templateInstallFolder = "template/tmpl/" + templateFolder;
final String tmplPath = secondaryPool.getLocalPath() + File.separator + templateInstallFolder;
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.buildTemplateLocation(storage, tmplPath)).thenReturn(location);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
try {
when(libvirtUtilitiesHelper.buildQCOW2Processor(storage)).thenReturn(qcow2Processor);
when(qcow2Processor.process(tmplPath, null, tmplName)).thenReturn(info);
when(location.create(1, true, tmplName)).thenThrow(IOException.class);
} catch (final ConfigurationException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final IOException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath);
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_23
Test Case Name: testCreatePrivateTemplateFromSnapshotCommandCloudRuntime(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: pool
Suggested Diff
@@
@Test
public void testCreatePrivateTemplateFromSnapshotCommandCloudRuntime() {
- final StoragePool pool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "/run/9a0afe7c-26a7-4585-bf87-abf82ae106d9/";
final String backedUpSnapshotName = "snap";
final String origTemplateInstallPath = "/install/path/";
final Long newTemplateId = 2l;
final String templateName = "templ";
final int wait = 0;
final CreatePrivateTemplateFromSnapshotCommand command = new CreatePrivateTemplateFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, origTemplateInstallPath, newTemplateId, templateName, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testCreatePrivateTemplateFromSnapshotCommandCloudRuntime() {
final StoragePool pool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long dcId = 1l;
final Long accountId = 1l;
final Long volumeId = 1l;
final String backedUpSnapshotUuid = "/run/9a0afe7c-26a7-4585-bf87-abf82ae106d9/";
final String backedUpSnapshotName = "snap";
final String origTemplateInstallPath = "/install/path/";
final Long newTemplateId = 2l;
final String templateName = "templ";
final int wait = 0;
final CreatePrivateTemplateFromSnapshotCommand command = new CreatePrivateTemplateFromSnapshotCommand(pool, secondaryStoragePoolURL, dcId, accountId, volumeId, backedUpSnapshotUuid, backedUpSnapshotName, origTemplateInstallPath, newTemplateId, templateName, wait);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondaryPool = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool snapshotPool = Mockito.mock(KVMStoragePool.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final String tmplName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
String snapshotPath = command.getSnapshotUuid();
final int index = snapshotPath.lastIndexOf("/");
snapshotPath = snapshotPath.substring(0, index);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(tmplName);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath)).thenReturn(snapshotPool);
when(storagePoolMgr.getStoragePoolByURI(command.getSecondaryStorageUrl())).thenReturn(secondaryPool);
when(snapshotPool.getPhysicalDisk(command.getSnapshotName())).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl() + snapshotPath);
verify(storagePoolMgr, times(1)).getStoragePoolByURI(command.getSecondaryStorageUrl());
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_24
Test Case Name: testCopyVolumeCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: storagePool
Suggested Diff
@@
@Test
public void testCopyVolumeCommand() {
- final StoragePool storagePool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long volumeId = 1l;
final int wait = 0;
final String volumePath = "/vol/path";
final boolean toSecondaryStorage = true;
final boolean executeInSequence = false;
- final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, storagePool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
+ final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, pool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
final String destVolumeName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final String volumeDestPath = "/volumes/" + command.getVolumeId() + File.separator;
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@Test
public void testCopyVolumeCommand() {
final StoragePool storagePool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long volumeId = 1l;
final int wait = 0;
final String volumePath = "/vol/path";
final boolean toSecondaryStorage = true;
final boolean executeInSequence = false;
final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, storagePool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
final String destVolumeName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final String volumeDestPath = "/volumes/" + command.getVolumeId() + File.separator;
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondary = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk disk = Mockito.mock(KVMPhysicalDisk.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final StorageFilerTO pool = command.getPool();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(destVolumeName);
when(primary.getPhysicalDisk(command.getVolumePath())).thenReturn(disk);
when(storagePoolMgr.getStoragePoolByURI(secondaryStoragePoolURL)).thenReturn(secondary);
when(secondary.getType()).thenReturn(StoragePoolType.ManagedNFS);
when(secondary.getUuid()).thenReturn("60d979d8-d132-4181-8eca-8dfde50d7df6");
when(secondary.createFolder(volumeDestPath)).thenReturn(true);
when(storagePoolMgr.deleteStoragePool(secondary.getType(), secondary.getUuid())).thenReturn(true);
when(storagePoolMgr.getStoragePoolByURI(secondaryStoragePoolURL + volumeDestPath)).thenReturn(secondary);
when(storagePoolMgr.copyPhysicalDisk(disk, destVolumeName, secondary, 0)).thenReturn(disk);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_25
Test Case Name: testCopyVolumeCommandToSecFalse(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: storagePool
Suggested Diff
@@
@Test
public void testCopyVolumeCommandToSecFalse() {
- final StoragePool storagePool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long volumeId = 1l;
final int wait = 0;
final String volumePath = "/vol/path";
final boolean toSecondaryStorage = false;
final boolean executeInSequence = false;
- final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, storagePool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
+ final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, pool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
final String destVolumeName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final String volumeDestPath = "/volumes/" + command.getVolumeId() + File.separator;
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@Test
public void testCopyVolumeCommandToSecFalse() {
final StoragePool storagePool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long volumeId = 1l;
final int wait = 0;
final String volumePath = "/vol/path";
final boolean toSecondaryStorage = false;
final boolean executeInSequence = false;
final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, storagePool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
final String destVolumeName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final String volumeDestPath = "/volumes/" + command.getVolumeId() + File.separator;
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondary = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk disk = Mockito.mock(KVMPhysicalDisk.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final StorageFilerTO pool = command.getPool();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(destVolumeName);
when(secondary.getType()).thenReturn(StoragePoolType.ManagedNFS);
when(secondary.getUuid()).thenReturn("60d979d8-d132-4181-8eca-8dfde50d7df6");
when(storagePoolMgr.getStoragePoolByURI(secondaryStoragePoolURL + volumeDestPath)).thenReturn(secondary);
when(primary.getPhysicalDisk(command.getVolumePath() + ".qcow2")).thenReturn(disk);
when(storagePoolMgr.copyPhysicalDisk(disk, destVolumeName, primary, 0)).thenReturn(disk);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_26
Test Case Name: testCopyVolumeCommandCloudRuntime(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: storagePool
Suggested Diff
@@
@SuppressWarnings("unchecked")
@Test
public void testCopyVolumeCommandCloudRuntime() {
- final StoragePool storagePool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long volumeId = 1l;
final int wait = 0;
final String volumePath = "/vol/path";
final boolean toSecondaryStorage = false;
final boolean executeInSequence = false;
- final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, storagePool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
+ final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, pool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
final String destVolumeName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final String volumeDestPath = "/volumes/" + command.getVolumeId() + File.separator;
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondary = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final StorageFilerTO pool = command.getPool();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(destVolumeName);
when(secondary.getType()).thenReturn(StoragePoolType.ManagedNFS);
when(secondary.getUuid()).thenReturn("60d979d8-d132-4181-8eca-8dfde50d7df6");
when(storagePoolMgr.getStoragePoolByURI(secondaryStoragePoolURL + volumeDestPath)).thenReturn(secondary);
when(secondary.getPhysicalDisk(command.getVolumePath() + ".qcow2")).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testCopyVolumeCommandCloudRuntime() {
final StoragePool storagePool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long volumeId = 1l;
final int wait = 0;
final String volumePath = "/vol/path";
final boolean toSecondaryStorage = false;
final boolean executeInSequence = false;
final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, storagePool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
final String destVolumeName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final String volumeDestPath = "/volumes/" + command.getVolumeId() + File.separator;
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondary = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final StorageFilerTO pool = command.getPool();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenReturn(primary);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(destVolumeName);
when(secondary.getType()).thenReturn(StoragePoolType.ManagedNFS);
when(secondary.getUuid()).thenReturn("60d979d8-d132-4181-8eca-8dfde50d7df6");
when(storagePoolMgr.getStoragePoolByURI(secondaryStoragePoolURL + volumeDestPath)).thenReturn(secondary);
when(secondary.getPhysicalDisk(command.getVolumePath() + ".qcow2")).thenThrow(CloudRuntimeException.class);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_27
Test Case Name: testCopyVolumeCommandCloudRuntime2(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: storagePool
Suggested Diff
@@
@Test
public void testCopyVolumeCommandCloudRuntime2() {
- final StoragePool storagePool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long volumeId = 1l;
final int wait = 0;
final String volumePath = "/vol/path";
final boolean toSecondaryStorage = false;
final boolean executeInSequence = false;
- final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, storagePool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
+ final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, pool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
final StorageFilerTO pool = command.getPool();
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenThrow(new CloudRuntimeException("error"));
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Original Test Code (click to expand)
@Test
public void testCopyVolumeCommandCloudRuntime2() {
final StoragePool storagePool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long volumeId = 1l;
final int wait = 0;
final String volumePath = "/vol/path";
final boolean toSecondaryStorage = false;
final boolean executeInSequence = false;
final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, storagePool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
final StorageFilerTO pool = command.getPool();
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenThrow(new CloudRuntimeException("error"));
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Test Case ID #cloudstack_Test_126_28
Test Case Name: testCopyVolumeCommandPrimaryNotFound(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: storagePool
Suggested Diff
@@
@Test
public void testCopyVolumeCommandPrimaryNotFound() {
- final StoragePool storagePool = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `pool`
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long volumeId = 1l;
final int wait = 0;
final String volumePath = "/vol/path";
final boolean toSecondaryStorage = false;
final boolean executeInSequence = false;
- final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, storagePool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
+ final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, pool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
final String destVolumeName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final String volumeDestPath = "/volumes/" + command.getVolumeId() + File.separator;
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
Original Test Code (click to expand)
@Test
public void testCopyVolumeCommandPrimaryNotFound() {
final StoragePool storagePool = Mockito.mock(StoragePool.class);
final String secondaryStoragePoolURL = "nfs:/127.0.0.1/storage/secondary";
final Long volumeId = 1l;
final int wait = 0;
final String volumePath = "/vol/path";
final boolean toSecondaryStorage = false;
final boolean executeInSequence = false;
final CopyVolumeCommand command = new CopyVolumeCommand(volumeId, volumePath, storagePool, secondaryStoragePoolURL, toSecondaryStorage, wait, executeInSequence);
final String destVolumeName = "ce97bbc1-34fe-4259-9202-74bbce2562ab";
final String volumeDestPath = "/volumes/" + command.getVolumeId() + File.separator;
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final KVMStoragePool secondary = Mockito.mock(KVMStoragePool.class);
final KVMStoragePool primary = Mockito.mock(KVMStoragePool.class);
final KVMPhysicalDisk disk = Mockito.mock(KVMPhysicalDisk.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final StorageFilerTO pool = command.getPool();
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid())).thenThrow(new CloudRuntimeException("not found"));
when(storagePoolMgr.createStoragePool(pool.getUuid(), pool.getHost(), pool.getPort(), pool.getPath(), pool.getUserInfo(), pool.getType())).thenReturn(primary);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
when(libvirtUtilitiesHelper.generateUUIDName()).thenReturn(destVolumeName);
when(secondary.getType()).thenReturn(StoragePoolType.ManagedNFS);
when(secondary.getUuid()).thenReturn("60d979d8-d132-4181-8eca-8dfde50d7df6");
when(storagePoolMgr.getStoragePoolByURI(secondaryStoragePoolURL + volumeDestPath)).thenReturn(secondary);
when(primary.getPhysicalDisk(command.getVolumePath() + ".qcow2")).thenReturn(disk);
when(storagePoolMgr.copyPhysicalDisk(disk, destVolumeName, primary, 0)).thenReturn(disk);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
}
Reusable Method for MCI (click to expand)
private StoragePool pool;
@BeforeEach
public void setUp() {
pool = Mockito.mock(StoragePool.class);
}
pool
Mock Clone Instance #cloudstack_MCI_127
- Scope: method level
- Mocked Class:
com.cloud.storage.StoragePool
- Test Case Count: 7
- MO Count: 7
Reusable Method
private StoragePool storagePoolMock;
@BeforeEach
public void setUp() {
storagePoolMock = Mockito.mock(StoragePool.class);
}
storagePoolMock
The refactoring details in each test cases
Test Case ID #cloudstack_Test_127_1
Mock Object Variable Name: storagePoolMock
Suggested Diff
@@
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingMoreTagsThanStorageTags() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("A,B,C").when(diskOfferingVoMock).getTags();
- StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `storagePoolMock`
Mockito.doReturn("A").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertFalse(result);
}
Original Test Code (click to expand)
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingMoreTagsThanStorageTags() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("A,B,C").when(diskOfferingVoMock).getTags();
StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
Mockito.doReturn("A").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private StoragePool storagePoolMock;
@BeforeEach
public void setUp() {
storagePoolMock = Mockito.mock(StoragePool.class);
}
storagePoolMock
Test Case ID #cloudstack_Test_127_2
Mock Object Variable Name: storagePoolMock
Suggested Diff
@@
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsIsSubSetOfStorageTags() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("A,B,C").when(diskOfferingVoMock).getTags();
- StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `storagePoolMock`
Mockito.doReturn("A,B,C,D,X,Y").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertTrue(result);
}
Original Test Code (click to expand)
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsIsSubSetOfStorageTags() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("A,B,C").when(diskOfferingVoMock).getTags();
StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
Mockito.doReturn("A,B,C,D,X,Y").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private StoragePool storagePoolMock;
@BeforeEach
public void setUp() {
storagePoolMock = Mockito.mock(StoragePool.class);
}
storagePoolMock
Test Case ID #cloudstack_Test_127_3
Mock Object Variable Name: storagePoolMock
Suggested Diff
@@
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsEmptyAndStorageTagsNotEmpty() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("").when(diskOfferingVoMock).getTags();
- StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `storagePoolMock`
Mockito.lenient().doReturn("A,B,C,D,X,Y").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertTrue(result);
}
Original Test Code (click to expand)
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsEmptyAndStorageTagsNotEmpty() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("").when(diskOfferingVoMock).getTags();
StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
Mockito.lenient().doReturn("A,B,C,D,X,Y").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private StoragePool storagePoolMock;
@BeforeEach
public void setUp() {
storagePoolMock = Mockito.mock(StoragePool.class);
}
storagePoolMock
Test Case ID #cloudstack_Test_127_4
Mock Object Variable Name: storagePoolMock
Suggested Diff
@@
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsNotEmptyAndStorageTagsEmpty() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("A").when(diskOfferingVoMock).getTags();
- StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `storagePoolMock`
Mockito.doReturn("").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertFalse(result);
}
Original Test Code (click to expand)
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsNotEmptyAndStorageTagsEmpty() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("A").when(diskOfferingVoMock).getTags();
StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
Mockito.doReturn("").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private StoragePool storagePoolMock;
@BeforeEach
public void setUp() {
storagePoolMock = Mockito.mock(StoragePool.class);
}
storagePoolMock
Test Case ID #cloudstack_Test_127_5
Mock Object Variable Name: storagePoolMock
Suggested Diff
@@
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsEmptyAndStorageTagsEmpty() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("").when(diskOfferingVoMock).getTags();
- StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `storagePoolMock`
Mockito.lenient().doReturn("").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertTrue(result);
}
Original Test Code (click to expand)
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsEmptyAndStorageTagsEmpty() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("").when(diskOfferingVoMock).getTags();
StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
Mockito.lenient().doReturn("").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private StoragePool storagePoolMock;
@BeforeEach
public void setUp() {
storagePoolMock = Mockito.mock(StoragePool.class);
}
storagePoolMock
Test Case ID #cloudstack_Test_127_6
Mock Object Variable Name: storagePoolMock
Suggested Diff
@@
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsDifferentFromdStorageTags() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("A,B").when(diskOfferingVoMock).getTags();
- StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `storagePoolMock`
Mockito.doReturn("C,D").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertFalse(result);
}
Original Test Code (click to expand)
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsDifferentFromdStorageTags() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("A,B").when(diskOfferingVoMock).getTags();
StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
Mockito.doReturn("C,D").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private StoragePool storagePoolMock;
@BeforeEach
public void setUp() {
storagePoolMock = Mockito.mock(StoragePool.class);
}
storagePoolMock
Test Case ID #cloudstack_Test_127_7
Mock Object Variable Name: storagePoolMock
Suggested Diff
@@
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsEqualsStorageTags() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("A").when(diskOfferingVoMock).getTags();
- StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
+ // removed local mock; replaced with global field `storagePoolMock`
Mockito.doReturn("A").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertTrue(result);
}
Original Test Code (click to expand)
@Test
public void doesTargetStorageSupportDiskOfferingTestDiskOfferingTagsEqualsStorageTags() {
DiskOfferingVO diskOfferingVoMock = Mockito.mock(DiskOfferingVO.class);
Mockito.doReturn("A").when(diskOfferingVoMock).getTags();
StoragePool storagePoolMock = Mockito.mock(StoragePool.class);
Mockito.doReturn("A").when(volumeApiServiceImpl).getStoragePoolTags(storagePoolMock);
boolean result = volumeApiServiceImpl.doesTargetStorageSupportDiskOffering(storagePoolMock, diskOfferingVoMock);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private StoragePool storagePoolMock;
@BeforeEach
public void setUp() {
storagePoolMock = Mockito.mock(StoragePool.class);
}
storagePoolMock
Mock Clone Instance #cloudstack_MCI_128
- Scope: class level
- Mocked Class:
ServiceOfferingVO
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockServiceOfferingVO {
public static ServiceOfferingVO createMockServiceOfferingVO(ServiceOffering.State state) {
ServiceOfferingVO serviceOfferingVO = Mockito.mock(ServiceOfferingVO.class);
when(serviceOfferingVO.getState()).thenReturn(state);
return serviceOfferingVO;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_128_1
Test Case Name: testCheckIfCanUpgradeFail(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: serviceOfferingMock
Suggested Diff
@@
@Test(expected = InvalidParameterValueException.class)
public void testCheckIfCanUpgradeFail() {
- when(serviceOfferingMock.getState()).thenReturn(ServiceOffering.State.Inactive);
+ serviceOfferingMock = MockServiceOfferingVO.createMockServiceOfferingVO(ServiceOffering.State.Inactive);
virtualMachineManagerImpl.checkIfCanUpgrade(vmInstanceMock, serviceOfferingMock);
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testCheckIfCanUpgradeFail() {
when(serviceOfferingMock.getState()).thenReturn(ServiceOffering.State.Inactive);
virtualMachineManagerImpl.checkIfCanUpgrade(vmInstanceMock, serviceOfferingMock);
}
Reusable Method for MCI (click to expand)
public class MockServiceOfferingVO {
public static ServiceOfferingVO createMockServiceOfferingVO(ServiceOffering.State state) {
ServiceOfferingVO serviceOfferingVO = Mockito.mock(ServiceOfferingVO.class);
when(serviceOfferingVO.getState()).thenReturn(state);
return serviceOfferingVO;
}
}
Test Case ID #cloudstack_Test_128_2
Test Case Name: createVirtualMachineWithInactiveServiceOffering(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: serviceOffering
Suggested Diff
@@
when(entityManager.findById(DataCenter.class, zoneId)).thenReturn(_dcMock);
- when(entityManager.findById(ServiceOffering.class, serviceOfferingId)).thenReturn(serviceOffering);
- when(serviceOffering.getState()).thenReturn(ServiceOffering.State.Inactive);
+ serviceOffering = MockServiceOfferingVO.createMockServiceOfferingVO(ServiceOffering.State.Inactive);
+ when(entityManager.findById(ServiceOffering.class, serviceOfferingId)).thenReturn(serviceOffering);
userVmManagerImpl.createVirtualMachine(deployVMCmd);
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void createVirtualMachineWithInactiveServiceOffering() throws ResourceUnavailableException, InsufficientCapacityException, ResourceAllocationException {
DeployVMCmd deployVMCmd = new DeployVMCmd();
ReflectionTestUtils.setField(deployVMCmd, "zoneId", zoneId);
ReflectionTestUtils.setField(deployVMCmd, "serviceOfferingId", serviceOfferingId);
deployVMCmd._accountService = accountService;
when(accountService.finalyzeAccountId(nullable(String.class), nullable(Long.class), nullable(Long.class), eq(true))).thenReturn(accountId);
when(accountService.getActiveAccountById(accountId)).thenReturn(account);
when(entityManager.findById(DataCenter.class, zoneId)).thenReturn(_dcMock);
when(entityManager.findById(ServiceOffering.class, serviceOfferingId)).thenReturn(serviceOffering);
when(serviceOffering.getState()).thenReturn(ServiceOffering.State.Inactive);
userVmManagerImpl.createVirtualMachine(deployVMCmd);
}
Reusable Method for MCI (click to expand)
public class MockServiceOfferingVO {
public static ServiceOfferingVO createMockServiceOfferingVO(ServiceOffering.State state) {
ServiceOfferingVO serviceOfferingVO = Mockito.mock(ServiceOfferingVO.class);
when(serviceOfferingVO.getState()).thenReturn(state);
return serviceOfferingVO;
}
}
Mock Clone Instance #cloudstack_MCI_129
- Scope: class level
- Mocked Class:
TungstenProviderDao
- Test Case Count: 7
- MO Count: 7
Reusable Method
public class MockTungstenProviderDao {
public static TungstenProviderDao createMockTungstenProviderDao(TungstenProviderVO tungstenProviderVO) {
TungstenProviderDao tungstenProviderDao = mock(TungstenProviderDao.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
return tungstenProviderDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_129_1
Test Case Name: shutdownProviderInstancesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: tungstenProviderDao
Suggested Diff
@@
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
Network publicNetwork = mock(Network.class);
VlanVO vlanVO1 = mock(VlanVO.class);
VlanVO vlanVO2 = mock(VlanVO.class);
List<VlanVO> vlanVOList = Arrays.asList(vlanVO1, vlanVO2);
HostPodVO hostPodVO1 = mock(HostPodVO.class);
HostPodVO hostPodVO2 = mock(HostPodVO.class);
List<HostPodVO> hostPodVOList = Arrays.asList(hostPodVO1, hostPodVO2);
when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
- when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
+ tungstenProviderDao = MockTungstenProviderDao.createMockTungstenProviderDao(tungstenProviderVO);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(vlanDao.listVlansByNetworkIdIncludingRemoved(anyLong())).thenReturn(vlanVOList);
when(hostPodDao.listByDataCenterId(anyLong())).thenReturn(hostPodVOList);
assertTrue(tungstenElement.shutdownProviderInstances(physicalNetworkServiceProvider, reservationContext));
verify(networkServiceMapDao, times(1)).deleteByNetworkId(anyLong());
verify(tungstenService, times(2)).removePublicNetworkSubnet(any(VlanVO.class));
verify(tungstenService, times(1)).deletePublicNetwork(anyLong());
verify(tungstenService, times(2)).removeManagementNetworkSubnet(any(HostPodVO.class));
verify(tungstenService, times(1)).deleteManagementNetwork(anyLong());
@@
Original Test Code (click to expand)
@Test
public void shutdownProviderInstancesTest() throws ConcurrentOperationException {
PhysicalNetworkServiceProvider physicalNetworkServiceProvider = mock(PhysicalNetworkServiceProvider.class);
ReservationContext reservationContext = mock(ReservationContext.class);
PhysicalNetworkVO physicalNetworkVO = mock(PhysicalNetworkVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
Network publicNetwork = mock(Network.class);
VlanVO vlanVO1 = mock(VlanVO.class);
VlanVO vlanVO2 = mock(VlanVO.class);
List<VlanVO> vlanVOList = Arrays.asList(vlanVO1, vlanVO2);
HostPodVO hostPodVO1 = mock(HostPodVO.class);
HostPodVO hostPodVO2 = mock(HostPodVO.class);
List<HostPodVO> hostPodVOList = Arrays.asList(hostPodVO1, hostPodVO2);
when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(vlanDao.listVlansByNetworkIdIncludingRemoved(anyLong())).thenReturn(vlanVOList);
when(hostPodDao.listByDataCenterId(anyLong())).thenReturn(hostPodVOList);
assertTrue(tungstenElement.shutdownProviderInstances(physicalNetworkServiceProvider, reservationContext));
verify(networkServiceMapDao, times(1)).deleteByNetworkId(anyLong());
verify(tungstenService, times(2)).removePublicNetworkSubnet(any(VlanVO.class));
verify(tungstenService, times(1)).deletePublicNetwork(anyLong());
verify(tungstenService, times(2)).removeManagementNetworkSubnet(any(HostPodVO.class));
verify(tungstenService, times(1)).deleteManagementNetwork(anyLong());
}
Reusable Method for MCI (click to expand)
public class MockTungstenProviderDao {
public static TungstenProviderDao createMockTungstenProviderDao(TungstenProviderVO tungstenProviderVO) {
TungstenProviderDao tungstenProviderDao = mock(TungstenProviderDao.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
return tungstenProviderDao;
}
}
Test Case ID #cloudstack_Test_129_2
Test Case Name: sendTungstenCommandSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenFabricUtilsTest.java)
Mock Object Variable Name: tungstenProviderDao
Suggested Diff
@@
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
TungstenCommand tungstenCommand = mock(TungstenCommand.class);
- when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
+ tungstenProviderDao = MockTungstenProviderDao.createMockTungstenProviderDao(tungstenProviderVO);
when(agentMgr.easySend(anyLong(), any(TungstenCommand.class))).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertEquals(tungstenAnswer, tungstenFabricUtils.sendTungstenCommand(tungstenCommand, anyLong()));
Original Test Code (click to expand)
@Test
public void sendTungstenCommandSuccessTest() {
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
TungstenCommand tungstenCommand = mock(TungstenCommand.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(agentMgr.easySend(anyLong(), any(TungstenCommand.class))).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertEquals(tungstenAnswer, tungstenFabricUtils.sendTungstenCommand(tungstenCommand, anyLong()));
}
Reusable Method for MCI (click to expand)
public class MockTungstenProviderDao {
public static TungstenProviderDao createMockTungstenProviderDao(TungstenProviderVO tungstenProviderVO) {
TungstenProviderDao tungstenProviderDao = mock(TungstenProviderDao.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
return tungstenProviderDao;
}
}
Test Case ID #cloudstack_Test_129_3
Test Case Name: createSharedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: tungstenProviderDao
Suggested Diff
@@
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
- when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
+ tungstenProviderDao = MockTungstenProviderDao.createMockTungstenProviderDao(tungstenProviderVO);
when(hostDao.findByPublicIp(anyString())).thenReturn(hostVO);
Original Test Code (click to expand)
@Test
public void createSharedNetworkTest() {
Network network = mock(Network.class);
Vlan vlan = mock(Vlan.class);
AccountVO accountVO = mock(AccountVO.class);
TungstenAnswer createTungstenSharedNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer addNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
HostVO hostVO = mock(HostVO.class);
Answer answer = mock(Answer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
ApiObjectBase apiObjectBase = mock(ApiObjectBase.class);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createTungstenSharedNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(createTungstenSharedNetworkAnswer.getResult()).thenReturn(true);
when(addNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getCidr()).thenReturn("192.168.100.0/24");
when(vlan.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
when(vlan.getVlanGateway()).thenReturn("192.168.100.1");
when(vlan.getIp6Gateway()).thenReturn("fd00::1");
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(hostDao.findByPublicIp(anyString())).thenReturn(hostVO);
when(agentMgr.easySend(anyLong(), any(SetupTungstenVRouterCommand.class))).thenReturn(answer);
when(answer.getResult()).thenReturn(true);
when(vlan.getIp6Cidr()).thenReturn("fd00::1/64");
when(vlan.getIp6Range()).thenReturn("fd00::100-fd00::200");
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.1.150");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
when(createTungstenSharedNetworkAnswer.getApiObjectBase()).thenReturn(apiObjectBase);
when(apiObjectBase.getQualifiedName()).thenReturn(List.of("network"));
when(tungstenProviderVO.getGateway()).thenReturn("192.168.100.1");
assertTrue(tungstenService.createSharedNetwork(network, vlan));
}
Reusable Method for MCI (click to expand)
public class MockTungstenProviderDao {
public static TungstenProviderDao createMockTungstenProviderDao(TungstenProviderVO tungstenProviderVO) {
TungstenProviderDao tungstenProviderDao = mock(TungstenProviderDao.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
return tungstenProviderDao;
}
}
Test Case ID #cloudstack_Test_129_4
Test Case Name: sendTungstenCommandWithNullAnswer(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenFabricUtilsTest.java)
Mock Object Variable Name: tungstenProviderDao
Suggested Diff
@@
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenCommand tungstenCommand = mock(TungstenCommand.class);
- when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
+ tungstenProviderDao = MockTungstenProviderDao.createMockTungstenProviderDao(tungstenProviderVO);
tungstenFabricUtils.sendTungstenCommand(tungstenCommand, anyLong());
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void sendTungstenCommandWithNullAnswer() {
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenCommand tungstenCommand = mock(TungstenCommand.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
tungstenFabricUtils.sendTungstenCommand(tungstenCommand, anyLong());
}
Reusable Method for MCI (click to expand)
public class MockTungstenProviderDao {
public static TungstenProviderDao createMockTungstenProviderDao(TungstenProviderVO tungstenProviderVO) {
TungstenProviderDao tungstenProviderDao = mock(TungstenProviderDao.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
return tungstenProviderDao;
}
}
Test Case ID #cloudstack_Test_129_5
Test Case Name: sendTungstenCommandWithFalseAnswer(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenFabricUtilsTest.java)
Mock Object Variable Name: tungstenProviderDao
Suggested Diff
@@
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
TungstenCommand tungstenCommand = mock(TungstenCommand.class);
- when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
+ tungstenProviderDao = MockTungstenProviderDao.createMockTungstenProviderDao(tungstenProviderVO);
when(agentMgr.easySend(anyLong(), any(TungstenCommand.class))).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(false);
when(tungstenAnswer.getDetails()).thenReturn("");
tungstenFabricUtils.sendTungstenCommand(tungstenCommand, anyLong());
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void sendTungstenCommandWithFalseAnswer() {
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
TungstenCommand tungstenCommand = mock(TungstenCommand.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(agentMgr.easySend(anyLong(), any(TungstenCommand.class))).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(false);
when(tungstenAnswer.getDetails()).thenReturn("");
tungstenFabricUtils.sendTungstenCommand(tungstenCommand, anyLong());
}
Reusable Method for MCI (click to expand)
public class MockTungstenProviderDao {
public static TungstenProviderDao createMockTungstenProviderDao(TungstenProviderVO tungstenProviderVO) {
TungstenProviderDao tungstenProviderDao = mock(TungstenProviderDao.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
return tungstenProviderDao;
}
}
Test Case ID #cloudstack_Test_129_6
Test Case Name: testTrashSharedNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: tungstenProviderDao
Suggested Diff
@@
final Network network = mock(Network.class);
final NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
final TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
final HostVO hostVO = mock(HostVO.class);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(networkDetailsDao.findDetail(anyLong(), anyString())).thenReturn(networkDetailVO);
- when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
+ tungstenProviderDao = MockTungstenProviderDao.createMockTungstenProviderDao(tungstenProviderVO);
when(hostDao.findByPublicIp(any())).thenReturn(hostVO);
guru.trash(network, offering);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(ClearTungstenNetworkGatewayCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong());
verify(tungstenService, times(1)).deallocateDnsIpAddress(any(), any(), anyString());
verify(agentMgr, times(1)).easySend(any(), any(SetupTungstenVRouterCommand.class));
verify(networkDetailsDao, times(1)).expunge(anyLong());
@@
Original Test Code (click to expand)
@Test
public void testTrashSharedNetwork() {
final Network network = mock(Network.class);
final NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
final TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
final HostVO hostVO = mock(HostVO.class);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(networkDetailsDao.findDetail(anyLong(), anyString())).thenReturn(networkDetailVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(hostDao.findByPublicIp(any())).thenReturn(hostVO);
guru.trash(network, offering);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(ClearTungstenNetworkGatewayCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenNetworkCommand.class), anyLong());
verify(tungstenService, times(1)).deallocateDnsIpAddress(any(), any(), anyString());
verify(agentMgr, times(1)).easySend(any(), any(SetupTungstenVRouterCommand.class));
verify(networkDetailsDao, times(1)).expunge(anyLong());
}
Reusable Method for MCI (click to expand)
public class MockTungstenProviderDao {
public static TungstenProviderDao createMockTungstenProviderDao(TungstenProviderVO tungstenProviderVO) {
TungstenProviderDao tungstenProviderDao = mock(TungstenProviderDao.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
return tungstenProviderDao;
}
}
Test Case ID #cloudstack_Test_129_7
Test Case Name: listTungstenProviderWithZoneIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenProviderServiceTest.java)
Mock Object Variable Name: tungstenProviderDao
Suggested Diff
@@
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
- when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
+ tungstenProviderDao = MockTungstenProviderDao.createMockTungstenProviderDao(tungstenProviderVO);
List<BaseResponse> baseResponseList = tungstenProviderService.listTungstenProvider(1L);
Original Test Code (click to expand)
@Test
public void listTungstenProviderWithZoneIdTest() {
TungstenProviderVO tungstenProviderVO = Mockito.mock(TungstenProviderVO.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
List<BaseResponse> baseResponseList = tungstenProviderService.listTungstenProvider(1L);
assertEquals(1, baseResponseList.size());
}
Reusable Method for MCI (click to expand)
public class MockTungstenProviderDao {
public static TungstenProviderDao createMockTungstenProviderDao(TungstenProviderVO tungstenProviderVO) {
TungstenProviderDao tungstenProviderDao = mock(TungstenProviderDao.class);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
return tungstenProviderDao;
}
}
Mock Clone Instance #cloudstack_MCI_130
- Scope: method level
- Mocked Class:
org.apache.log4j.Logger
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static Logger createMockLogger() {
Logger mock = Mockito.mock(Logger.class);
Mockito.doNothing().when(mock).debug(Matchers.any());
return mock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_130_1
Test Case Name: testLogger(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\ScriptTest.java)
Mock Object Variable Name: mock
Suggested Diff
@@
Assume.assumeTrue(SystemUtils.IS_OS_LINUX);
- Logger mock = Mockito.mock(Logger.class);
- Mockito.doNothing().when(mock).debug(Matchers.any());
+ Logger mock = createMockLogger();
Script script = new Script("/bin/echo", mock);
script.execute();
}
@@
Original Test Code (click to expand)
@Test
public void testLogger() {
Assume.assumeTrue(SystemUtils.IS_OS_LINUX);
Logger mock = Mockito.mock(Logger.class);
Mockito.doNothing().when(mock).debug(Matchers.any());
Script script = new Script("/bin/echo", mock);
script.execute();
}
Reusable Method for MCI (click to expand)
private static Logger createMockLogger() {
Logger mock = Mockito.mock(Logger.class);
Mockito.doNothing().when(mock).debug(Matchers.any());
return mock;
}
Test Case ID #cloudstack_Test_130_2
Test Case Name: testExecute(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\ScriptTest.java)
Mock Object Variable Name: mock
Suggested Diff
@@
Assume.assumeTrue(SystemUtils.IS_OS_LINUX);
- Logger mock = Mockito.mock(Logger.class);
- Mockito.doNothing().when(mock).debug(Matchers.any());
+ Logger mock = createMockLogger();
for (int i = 0; i < 100000; i++) {
Script script = new Script("/bin/false", mock);
script.execute();
}
@@
Original Test Code (click to expand)
@Test
@Ignore
public void testExecute() {
Assume.assumeTrue(SystemUtils.IS_OS_LINUX);
Logger mock = Mockito.mock(Logger.class);
Mockito.doNothing().when(mock).debug(Matchers.any());
for (int i = 0; i < 100000; i++) {
Script script = new Script("/bin/false", mock);
script.execute();
}
}
Reusable Method for MCI (click to expand)
private static Logger createMockLogger() {
Logger mock = Mockito.mock(Logger.class);
Mockito.doNothing().when(mock).debug(Matchers.any());
return mock;
}
Mock Clone Instance #cloudstack_MCI_131
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.CounterTO
- Test Case Count: 9
- MO Count: 13
Reusable Method
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_131_1
Test Case Name: isNativeTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterTO
Suggested Diff
@@
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
- CounterTO counterTO = Mockito.mock(CounterTO.class);
+ CounterTO counterTO = createMockCounterTO(Counter.Source.CPU);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
- when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertTrue(result);
@@
Original Test Code (click to expand)
@Test
public void isNativeTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_2
Test Case Name: isNativeFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
- CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
+ CounterTO counterTO = createMockCounterTO(Counter.Source.VIRTUALROUTER);
when(conditionTO.getCounter()).thenReturn(counterTO);
- when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertFalse(result);
@@
Original Test Code (click to expand)
@Test
public void isNativeFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_3
Test Case Name: hasSourceVirtualRouterTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterTO
Suggested Diff
@@
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
- CounterTO counterTO = Mockito.mock(CounterTO.class);
+ CounterTO counterTO = createMockCounterTO(Counter.Source.VIRTUALROUTER);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
- when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertTrue(result);
@@
Original Test Code (click to expand)
@Test
public void hasSourceVirtualRouterTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_4
Test Case Name: hasSourceVirtualRouterFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterTO
Suggested Diff
@@
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
- CounterTO counterTO = Mockito.mock(CounterTO.class);
+ CounterTO counterTO = createMockCounterTO(Counter.Source.CPU);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
- when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertFalse(result);
@@
Original Test Code (click to expand)
@Test
public void hasSourceVirtualRouterFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_5
Test Case Name: updateCountersMap1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpCounterTO
Suggested Diff
@@
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
- CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
+ CounterTO scaleUpCounterTO = createMockCounterTO(Counter.Source.CPU);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
- when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
@@
Original Test Code (click to expand)
@Test
public void updateCountersMap1() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 1, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 2, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 3, AutoScaleValueType.INSTANT_VM, timestamp));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleDownPolicyId), eq(scaleDownCounterId), any())).thenReturn(stats);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(6)).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_6
Test Case Name: updateCountersMap1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleDownCounterTO
Suggested Diff
@@
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
- CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
+ CounterTO scaleDownCounterTO = createMockCounterTO(Counter.Source.VIRTUALROUTER);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
- when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
- when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
@@
Original Test Code (click to expand)
@Test
public void updateCountersMap1() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 1, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 2, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 3, AutoScaleValueType.INSTANT_VM, timestamp));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleDownPolicyId), eq(scaleDownCounterId), any())).thenReturn(stats);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(6)).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_7
Test Case Name: updateCountersMap2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpCounterTO
Suggested Diff
@@
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
- CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
+ CounterTO scaleUpCounterTO = createMockCounterTO(Counter.Source.VIRTUALROUTER);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
- when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
- when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO));
@@
Original Test Code (click to expand)
@Test
public void updateCountersMap2() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
when(asGroupStatisticsDao.listInactiveByVmGroupAndPolicy(eq(vmGroupId), eq(scaleUpPolicyId), any())).thenReturn(new ArrayList<>());
when(asGroupStatisticsDao.listInactiveByVmGroupAndPolicy(eq(vmGroupId), eq(scaleDownPolicyId), any())).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 11, AutoScaleValueType.AGGREGATED_VM_GROUP, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 31, AutoScaleValueType.AGGREGATED_VM_GROUP, new Date(timestamp.getTime() + 10 * 1000)));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 51, AutoScaleValueType.AGGREGATED_VM_GROUP, new Date(timestamp.getTime() + 20 * 1000)));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(1);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithProcessedData(any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(1)).updateCountersMapWithProcessedData(any(), any(), any(), eq((double) 2));
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_8
Test Case Name: monitorVirtualRouterAsGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpCounterTO
Suggested Diff
@@
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
- CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
+ CounterTO scaleUpCounterTO = createMockCounterTO(Counter.Source.CPU);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
- when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
@@
Original Test Code (click to expand)
@Test
public void monitorVirtualRouterAsGroup() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(minMembers);
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
autoScaleManagerImplSpy.monitorVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
Mockito.verify(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_9
Test Case Name: monitorVirtualRouterAsGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleDownCounterTO
Suggested Diff
@@
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
- CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
+ CounterTO scaleDownCounterTO = createMockCounterTO(Counter.Source.VIRTUALROUTER);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
- when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
@@
Original Test Code (click to expand)
@Test
public void monitorVirtualRouterAsGroup() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(minMembers);
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
autoScaleManagerImplSpy.monitorVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
Mockito.verify(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_10
Test Case Name: setGetAutoScaleMetricsCommandMetrics(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpCounterTO
Suggested Diff
@@
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
- CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
+ CounterTO scaleUpCounterTO = createMockCounterTO(Counter.Source.CPU);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
- when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
- when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
- when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
+ when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
+ when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
@@
Original Test Code (click to expand)
@Test
public void setGetAutoScaleMetricsCommandMetrics() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
List<VirtualRouterAutoScale.AutoScaleMetrics> result = autoScaleManagerImplSpy.setGetAutoScaleMetricsCommandMetrics(groupTO);
Assert.assertEquals(2, result.size());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, result.get(0).getCounter());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, result.get(1).getCounter());
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_11
Test Case Name: setGetAutoScaleMetricsCommandMetrics(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleDownCounterTO
Suggested Diff
@@
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
- CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
+ CounterTO scaleDownCounterTO = createMockCounterTO(Counter.Source.VIRTUALROUTER);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
- when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
@@
Original Test Code (click to expand)
@Test
public void setGetAutoScaleMetricsCommandMetrics() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
List<VirtualRouterAutoScale.AutoScaleMetrics> result = autoScaleManagerImplSpy.setGetAutoScaleMetricsCommandMetrics(groupTO);
Assert.assertEquals(2, result.size());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, result.get(0).getCounter());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, result.get(1).getCounter());
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_12
Test Case Name: processGetAutoScaleMetricsAnswer(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpCounter
Suggested Diff
@@
CounterTO scaleUpCounter = Mockito.mock(CounterTO.class);
CounterTO scaleDownCounter = Mockito.mock(CounterTO.class);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(scaleUpCounter));
policyCountersMap.put(scaleDownPolicyId, Arrays.asList(scaleDownCounter));
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
PowerMockito.doReturn(policyCountersMap).when(autoScaleManagerImplSpy).getPolicyCounters(groupTO);
- when(scaleUpCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
- when(scaleUpCounter.getId()).thenReturn(counterId);
+ CounterTO scaleUpCounter = createMockCounterTO(Counter.Source.VIRTUALROUTER);
+ when(scaleUpCounter.getId()).thenReturn(counterId);
when(scaleDownCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounter.getId()).thenReturn(counterId);
List<VirtualRouterAutoScale.AutoScaleMetrics> metrics = new ArrayList<>();
@@
Original Test Code (click to expand)
@Test
public void processGetAutoScaleMetricsAnswer() {
CounterTO scaleUpCounter = Mockito.mock(CounterTO.class);
CounterTO scaleDownCounter = Mockito.mock(CounterTO.class);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(scaleUpCounter));
policyCountersMap.put(scaleDownPolicyId, Arrays.asList(scaleDownCounter));
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
PowerMockito.doReturn(policyCountersMap).when(autoScaleManagerImplSpy).getPolicyCounters(groupTO);
when(scaleUpCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleUpCounter.getId()).thenReturn(counterId);
when(scaleDownCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounter.getId()).thenReturn(counterId);
List<VirtualRouterAutoScale.AutoScaleMetrics> metrics = new ArrayList<>();
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.LB_AVERAGE_CONNECTIONS, scaleUpPolicyId, 2L, counterId, 4));
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, scaleUpPolicyId, 2L, counterId, 4));
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, scaleDownPolicyId, 2L, counterId, 4));
List<VirtualRouterAutoScale.AutoScaleMetricsValue> values = new ArrayList<>();
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(0), AutoScaleValueType.INSTANT_VM, Double.valueOf(1)));
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(1), AutoScaleValueType.INSTANT_VM, Double.valueOf(2)));
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(2), AutoScaleValueType.INSTANT_VM, Double.valueOf(3)));
autoScaleManagerImplSpy.processGetAutoScaleMetricsAnswer(groupTO, values, domainRouterId);
Mockito.verify(asGroupStatisticsDao, times(2)).persist(any());
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Test Case ID #cloudstack_Test_131_13
Test Case Name: processGetAutoScaleMetricsAnswer(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleDownCounter
Suggested Diff
@@
CounterTO scaleUpCounter = Mockito.mock(CounterTO.class);
- CounterTO scaleDownCounter = Mockito.mock(CounterTO.class);
+ CounterTO scaleDownCounter = createMockCounterTO(Counter.Source.VIRTUALROUTER);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(scaleUpCounter));
policyCountersMap.put(scaleDownPolicyId, Arrays.asList(scaleDownCounter));
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
PowerMockito.doReturn(policyCountersMap).when(autoScaleManagerImplSpy).getPolicyCounters(groupTO);
when(scaleUpCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleUpCounter.getId()).thenReturn(counterId);
- when(scaleDownCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
- when(scaleDownCounter.getId()).thenReturn(counterId);
@@
Original Test Code (click to expand)
@Test
public void processGetAutoScaleMetricsAnswer() {
CounterTO scaleUpCounter = Mockito.mock(CounterTO.class);
CounterTO scaleDownCounter = Mockito.mock(CounterTO.class);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(scaleUpCounter));
policyCountersMap.put(scaleDownPolicyId, Arrays.asList(scaleDownCounter));
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
PowerMockito.doReturn(policyCountersMap).when(autoScaleManagerImplSpy).getPolicyCounters(groupTO);
when(scaleUpCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleUpCounter.getId()).thenReturn(counterId);
when(scaleDownCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounter.getId()).thenReturn(counterId);
List<VirtualRouterAutoScale.AutoScaleMetrics> metrics = new ArrayList<>();
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.LB_AVERAGE_CONNECTIONS, scaleUpPolicyId, 2L, counterId, 4));
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, scaleUpPolicyId, 2L, counterId, 4));
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, scaleDownPolicyId, 2L, counterId, 4));
List<VirtualRouterAutoScale.AutoScaleMetricsValue> values = new ArrayList<>();
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(0), AutoScaleValueType.INSTANT_VM, Double.valueOf(1)));
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(1), AutoScaleValueType.INSTANT_VM, Double.valueOf(2)));
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(2), AutoScaleValueType.INSTANT_VM, Double.valueOf(3)));
autoScaleManagerImplSpy.processGetAutoScaleMetricsAnswer(groupTO, values, domainRouterId);
Mockito.verify(asGroupStatisticsDao, times(2)).persist(any());
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Counter.Source source) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getSource()).thenReturn(source);
return counterTO;
}
Mock Clone Instance #cloudstack_MCI_132
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.CounterTO
- Test Case Count: 2
- MO Count: 4
Reusable Method
private static CounterTO createMockCounterTO(Long id) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getId()).thenReturn(id);
return counterTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_132_1
Test Case Name: checkConditionsForPolicy1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterTO1
Suggested Diff
@@
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
- CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
+ CounterTO counterTO1 = createMockCounterTO(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
@@
Original Test Code (click to expand)
@Test
public void checkConditionsForPolicy1() {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.GT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.GE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2).getRelationalOperator();
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Long id) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getId()).thenReturn(id);
return counterTO;
}
Test Case ID #cloudstack_Test_132_2
Test Case Name: checkConditionsForPolicy1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterTO2
Suggested Diff
@@
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
- CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
- when(counterTO2.getId()).thenReturn(counterId2);
+ CounterTO counterTO2 = createMockCounterTO(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.GT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.GE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2).getRelationalOperator();
@@
Original Test Code (click to expand)
@Test
public void checkConditionsForPolicy1() {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.GT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.GE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2).getRelationalOperator();
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Long id) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getId()).thenReturn(id);
return counterTO;
}
Test Case ID #cloudstack_Test_132_3
Test Case Name: checkConditionsForPolicy2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterTO1
Suggested Diff
@@
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
- CounterTO counterTO1 = Mockito.mock(CounterTO.class);
+ CounterTO counterTO1 = createMockCounterTO(counterId);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
- when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.LT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.LE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertNull(result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2, never()).getRelationalOperator();
@@
Original Test Code (click to expand)
@Test
public void checkConditionsForPolicy2() {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.LT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.LE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertNull(result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2, never()).getRelationalOperator();
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Long id) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getId()).thenReturn(id);
return counterTO;
}
Test Case ID #cloudstack_Test_132_4
Test Case Name: checkConditionsForPolicy2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterTO2
Suggested Diff
@@
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
- CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
- when(counterTO2.getId()).thenReturn(counterId2);
+ CounterTO counterTO2 = createMockCounterTO(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
@@
Original Test Code (click to expand)
@Test
public void checkConditionsForPolicy2() {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.LT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.LE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertNull(result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2, never()).getRelationalOperator();
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(Long id) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getId()).thenReturn(id);
return counterTO;
}
Mock Clone Instance #cloudstack_MCI_133
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.CounterTO
- Test Case Count: 1
- MO Count: 2
Reusable Method
private static CounterTO createMockCounterTO(String nameReturn) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getName()).thenReturn(nameReturn);
return counterTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_133_1
Mock Object Variable Name: counterTO1
Suggested Diff
@@
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
- CounterTO counterTO1 = Mockito.mock(CounterTO.class);
+ CounterTO counterTO1 = createMockCounterTO(counterName + "-1");
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
- when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
@@
Original Test Code (click to expand)
@Test
public void setPerformanceMonitorCommandParams() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(String nameReturn) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getName()).thenReturn(nameReturn);
return counterTO;
}
Test Case ID #cloudstack_Test_133_2
Mock Object Variable Name: counterTO2
Suggested Diff
@@
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
- CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
- when(counterTO2.getName()).thenReturn(counterName + "-2");
+ CounterTO counterTO2 = createMockCounterTO(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
@@
Original Test Code (click to expand)
@Test
public void setPerformanceMonitorCommandParams() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
}
Reusable Method for MCI (click to expand)
private static CounterTO createMockCounterTO(String nameReturn) {
CounterTO counterTO = Mockito.mock(CounterTO.class);
when(counterTO.getName()).thenReturn(nameReturn);
return counterTO;
}
Mock Clone Instance #cloudstack_MCI_134
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.CounterTO
- Test Case Count: 2
- MO Count: 2
Reusable Method
private CounterTO counterTO1;
@BeforeEach
public void setUp() {
counterTO1 = Mockito.mock(CounterTO.class);
}
counterTO1
The refactoring details in each test cases
Test Case ID #cloudstack_Test_134_1
Test Case Name: getPolicyCounters(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: counterTO1
Suggested Diff
@@
@Test
public void getPolicyCounters() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
- CounterTO counterTO1 = Mockito.mock(CounterTO.class);
+ // removed local mock; replaced with global field `counterTO1`
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
- when(conditionTO1.getCounter()).thenReturn(counterTO1);
+ when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
Map<Long, List<CounterTO>> result = autoScaleManagerImplSpy.getPolicyCounters(groupTO);
Assert.assertEquals(1, result.size());
List<CounterTO> counters = result.get(scaleUpPolicyId);
Assert.assertEquals(2, counters.size());
- Assert.assertTrue(counters.contains(counterTO1));
+ Assert.assertTrue(counters.contains(counterTO1));
Assert.assertTrue(counters.contains(counterTO2));
}
Original Test Code (click to expand)
@Test
public void getPolicyCounters() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
Map<Long, List<CounterTO>> result = autoScaleManagerImplSpy.getPolicyCounters(groupTO);
Assert.assertEquals(1, result.size());
List<CounterTO> counters = result.get(scaleUpPolicyId);
Assert.assertEquals(2, counters.size());
Assert.assertTrue(counters.contains(counterTO1));
Assert.assertTrue(counters.contains(counterTO2));
}
Reusable Method for MCI (click to expand)
private CounterTO counterTO1;
@BeforeEach
public void setUp() {
counterTO1 = Mockito.mock(CounterTO.class);
}
counterTO1
Test Case ID #cloudstack_Test_134_2
Test Case Name: getVmStatsFromHosts(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpCounter
Suggested Diff
@@
hostAndVmIdsMap.put(1L, Arrays.asList(2L, 3L));
hostAndVmIdsMap.put(4L, Arrays.asList(5L, 6L));
- CounterTO scaleUpCounter = Mockito.mock(CounterTO.class);
+ // removed local mock; replaced with global field `counterTO1`
CounterTO scaleDownCounter = Mockito.mock(CounterTO.class);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
- policyCountersMap.put(scaleUpPolicyId, Arrays.asList(scaleUpCounter));
+ policyCountersMap.put(scaleUpPolicyId, Arrays.asList(counterTO1));
policyCountersMap.put(scaleDownPolicyId, Arrays.asList(scaleDownCounter));
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
Original Test Code (click to expand)
@Test
public void getVmStatsFromHosts() {
Map<Long, List<Long>> hostAndVmIdsMap = new HashMap<>();
hostAndVmIdsMap.put(1L, Arrays.asList(2L, 3L));
hostAndVmIdsMap.put(4L, Arrays.asList(5L, 6L));
CounterTO scaleUpCounter = Mockito.mock(CounterTO.class);
CounterTO scaleDownCounter = Mockito.mock(CounterTO.class);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(scaleUpCounter));
policyCountersMap.put(scaleDownPolicyId, Arrays.asList(scaleDownCounter));
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
PowerMockito.doReturn(hostAndVmIdsMap).when(autoScaleManagerImplSpy).getHostAndVmIdsMap(groupTO);
PowerMockito.doReturn(policyCountersMap).when(autoScaleManagerImplSpy).getPolicyCounters(groupTO);
Map<Long, VmStatsEntry> vmStatsById = new HashMap<>();
PowerMockito.doReturn(vmStatsById).doReturn(vmStatsById).when(autoScaleManagerImplSpy).getVmStatsByIdFromHost(anyLong(), any());
PowerMockito.doNothing().doNothing().when(autoScaleManagerImplSpy).processVmStatsByIdFromHost(any(), any(), any(), any());
autoScaleManagerImplSpy.getVmStatsFromHosts(groupTO);
Mockito.verify(autoScaleManagerImplSpy, times(2)).getVmStatsByIdFromHost(anyLong(), any());
Mockito.verify(autoScaleManagerImplSpy, times(2)).processVmStatsByIdFromHost(any(), any(), any(), any());
}
Reusable Method for MCI (click to expand)
private CounterTO counterTO1;
@BeforeEach
public void setUp() {
counterTO1 = Mockito.mock(CounterTO.class);
}
counterTO1
Mock Clone Instance #cloudstack_MCI_135
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.DataStore
- Test Case Count: 5
- MO Count: 5
Reusable Method
private DataStore dataStore;
@BeforeEach
public void setUp() {
dataStore = mock(DataStore.class);
}
dataStore;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_135_1
Test Case Name: testAttachZone_UnsupportedHypervisor(File: C:\Java_projects\Apache\cloudstack\plugins\storage\volume\scaleio\src\test\java\org\apache\cloudstack\storage\datastore\lifecycle\ScaleIOPrimaryDataStoreLifeCycleTest.java)
Mock Object Variable Name: dataStore
Suggested Diff
@@
@Test(expected = CloudRuntimeException.class)
public void testAttachZone_UnsupportedHypervisor() throws Exception {
- final DataStore dataStore = mock(DataStore.class);
+ // removed local mock; replaced with global field `dataStore`
final ZoneScope scope = new ZoneScope(1L);
scaleIOPrimaryDataStoreLifeCycleTest.attachZone(dataStore, scope, Hypervisor.HypervisorType.VMware);
}
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testAttachZone_UnsupportedHypervisor() throws Exception {
final DataStore dataStore = mock(DataStore.class);
final ZoneScope scope = new ZoneScope(1L);
scaleIOPrimaryDataStoreLifeCycleTest.attachZone(dataStore, scope, Hypervisor.HypervisorType.VMware);
}
Reusable Method for MCI (click to expand)
private DataStore dataStore;
@BeforeEach
public void setUp() {
dataStore = mock(DataStore.class);
}
dataStore;
Test Case ID #cloudstack_Test_135_2
Test Case Name: testMaintain(File: C:\Java_projects\Apache\cloudstack\plugins\storage\volume\scaleio\src\test\java\org\apache\cloudstack\storage\datastore\lifecycle\ScaleIOPrimaryDataStoreLifeCycleTest.java)
Mock Object Variable Name: store
Suggested Diff
@@
@Test
public void testMaintain() {
- final DataStore store = mock(DataStore.class);
+ // removed local mock; replaced with global field `dataStore`
when(storagePoolAutomation.maintain(any(DataStore.class))).thenReturn(true);
when(dataStoreHelper.maintain(any(DataStore.class))).thenReturn(true);
- final boolean result = scaleIOPrimaryDataStoreLifeCycleTest.maintain(store);
+ final boolean result = scaleIOPrimaryDataStoreLifeCycleTest.maintain(dataStore);
assertThat(result).isTrue();
}
Original Test Code (click to expand)
@Test
public void testMaintain() {
final DataStore store = mock(DataStore.class);
when(storagePoolAutomation.maintain(any(DataStore.class))).thenReturn(true);
when(dataStoreHelper.maintain(any(DataStore.class))).thenReturn(true);
final boolean result = scaleIOPrimaryDataStoreLifeCycleTest.maintain(store);
assertThat(result).isTrue();
}
Reusable Method for MCI (click to expand)
private DataStore dataStore;
@BeforeEach
public void setUp() {
dataStore = mock(DataStore.class);
}
dataStore;
Test Case ID #cloudstack_Test_135_3
Test Case Name: testCancelMaintain(File: C:\Java_projects\Apache\cloudstack\plugins\storage\volume\scaleio\src\test\java\org\apache\cloudstack\storage\datastore\lifecycle\ScaleIOPrimaryDataStoreLifeCycleTest.java)
Mock Object Variable Name: store
Suggested Diff
@@
@Test
public void testCancelMaintain() {
- final DataStore store = mock(DataStore.class);
+ // removed local mock; replaced with global field `dataStore`
when(dataStoreHelper.cancelMaintain(any(DataStore.class))).thenReturn(true);
when(storagePoolAutomation.cancelMaintain(any(DataStore.class))).thenReturn(true);
- final boolean result = scaleIOPrimaryDataStoreLifeCycleTest.cancelMaintain(store);
+ final boolean result = scaleIOPrimaryDataStoreLifeCycleTest.cancelMaintain(dataStore);
assertThat(result).isTrue();
}
Original Test Code (click to expand)
@Test
public void testCancelMaintain() {
final DataStore store = mock(DataStore.class);
when(dataStoreHelper.cancelMaintain(any(DataStore.class))).thenReturn(true);
when(storagePoolAutomation.cancelMaintain(any(DataStore.class))).thenReturn(true);
final boolean result = scaleIOPrimaryDataStoreLifeCycleTest.cancelMaintain(store);
assertThat(result).isTrue();
}
Reusable Method for MCI (click to expand)
private DataStore dataStore;
@BeforeEach
public void setUp() {
dataStore = mock(DataStore.class);
}
dataStore;
Test Case ID #cloudstack_Test_135_4
Test Case Name: testEnableStoragePool(File: C:\Java_projects\Apache\cloudstack\plugins\storage\volume\scaleio\src\test\java\org\apache\cloudstack\storage\datastore\lifecycle\ScaleIOPrimaryDataStoreLifeCycleTest.java)
Mock Object Variable Name: dataStore
Suggested Diff
@@
@Test
public void testEnableStoragePool() {
- final DataStore dataStore = mock(DataStore.class);
+ // removed local mock; replaced with global field `dataStore`
when(dataStoreHelper.enable(any(DataStore.class))).thenReturn(true);
scaleIOPrimaryDataStoreLifeCycleTest.enableStoragePool(dataStore);
}
Original Test Code (click to expand)
@Test
public void testEnableStoragePool() {
final DataStore dataStore = mock(DataStore.class);
when(dataStoreHelper.enable(any(DataStore.class))).thenReturn(true);
scaleIOPrimaryDataStoreLifeCycleTest.enableStoragePool(dataStore);
}
Reusable Method for MCI (click to expand)
private DataStore dataStore;
@BeforeEach
public void setUp() {
dataStore = mock(DataStore.class);
}
dataStore;
Test Case ID #cloudstack_Test_135_5
Test Case Name: testDisableStoragePool(File: C:\Java_projects\Apache\cloudstack\plugins\storage\volume\scaleio\src\test\java\org\apache\cloudstack\storage\datastore\lifecycle\ScaleIOPrimaryDataStoreLifeCycleTest.java)
Mock Object Variable Name: dataStore
Suggested Diff
@@
@Test
public void testDisableStoragePool() {
- final DataStore dataStore = mock(DataStore.class);
+ // removed local mock; replaced with global field `dataStore`
when(dataStoreHelper.disable(any(DataStore.class))).thenReturn(true);
scaleIOPrimaryDataStoreLifeCycleTest.disableStoragePool(dataStore);
}
Original Test Code (click to expand)
@Test
public void testDisableStoragePool() {
final DataStore dataStore = mock(DataStore.class);
when(dataStoreHelper.disable(any(DataStore.class))).thenReturn(true);
scaleIOPrimaryDataStoreLifeCycleTest.disableStoragePool(dataStore);
}
Reusable Method for MCI (click to expand)
private DataStore dataStore;
@BeforeEach
public void setUp() {
dataStore = mock(DataStore.class);
}
dataStore;
Mock Clone Instance #cloudstack_MCI_136
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.DataStore
- Test Case Count: 1
- MO Count: 2
Reusable Method
private static DataStore createMockDataStore(Long idReturn, DataStoreRole roleReturn, ZoneScope scopeReturn) {
DataStore dataStore = mock(DataStore.class);
when(dataStore.getId()).thenReturn(idReturn);
when(dataStore.getRole()).thenReturn(roleReturn);
when(dataStore.getScope()).thenReturn(scopeReturn);
return dataStore;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_136_1
Test Case Name: testMixZonePrimaryStorages(File: C:\Java_projects\Apache\cloudstack\engine\storage\integration-test\src\test\java\org\apache\cloudstack\storage\test\EndpointSelectorTest.java)
Mock Object Variable Name: srcStore
Suggested Diff
@@
ZoneScope srcScope = new ZoneScope(dcId);
- DataStore srcStore = mock(DataStore.class);
- DataStore destStore = mock(DataStore.class);
- when(srcStore.getScope()).thenReturn(srcScope);
- when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
- when(srcStore.getId()).thenReturn(srcStoreId);
+ DataStore srcStore = createMockDataStore(srcStoreId, DataStoreRole.Primary, srcScope);
+ DataStore destStore = mock(DataStore.class);
when(destStore.getScope()).thenReturn(srcScope);
when(destStore.getRole()).thenReturn(DataStoreRole.Image);
when(destStore.getId()).thenReturn(destStoreId);
DataObject srcObj = mock(DataObject.class);
DataObject destObj = mock(DataObject.class);
when(srcObj.getDataStore()).thenReturn(srcStore);
when(destObj.getDataStore()).thenReturn(destStore);
EndPoint ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
Long hostId = ep.getId();
HostVO newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
- when(srcStore.getRole()).thenReturn(DataStoreRole.Image);
- when(srcStore.getId()).thenReturn(destStoreId);
+ when(srcStore.getRole()).thenReturn(DataStoreRole.Image);
+ when(srcStore.getId()).thenReturn(destStoreId);
when(destStore.getId()).thenReturn(srcStoreId);
when(destStore.getRole()).thenReturn(DataStoreRole.Primary);
ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
hostId = ep.getId();
newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
ClusterScope clusterScope = new ClusterScope(clusterId, podId, dcId);
- when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
- when(srcStore.getScope()).thenReturn(clusterScope);
- when(srcStore.getId()).thenReturn(xenStoreId);
+ when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
+ when(srcStore.getScope()).thenReturn(clusterScope);
+ when(srcStore.getId()).thenReturn(xenStoreId);
ep = endPointSelector.select(srcStore);
Assert.assertTrue(ep != null);
newHost = hostDao.findById(ep.getId());
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.XenServer);
}
Original Test Code (click to expand)
@Test
public void testMixZonePrimaryStorages() {
Long srcStoreId = null;
Long destStoreId = imageStore.getId();
DataStore store = createPrimaryDataStore(ScopeType.ZONE);
srcStoreId = store.getId();
HostVO host = createHost(Hypervisor.HypervisorType.VMware);
addStorageToHost(store, host);
store = createPrimaryDataStore(ScopeType.ZONE);
host = createHost(Hypervisor.HypervisorType.VMware);
addStorageToHost(store, host);
Long xenStoreId = null;
store = createPrimaryDataStore(ScopeType.CLUSTER);
xenStoreId = store.getId();
host = createHost(Hypervisor.HypervisorType.XenServer);
addStorageToHost(store, host);
store = createPrimaryDataStore(ScopeType.CLUSTER);
host = createHost(Hypervisor.HypervisorType.XenServer);
addStorageToHost(store, host);
ZoneScope srcScope = new ZoneScope(dcId);
DataStore srcStore = mock(DataStore.class);
DataStore destStore = mock(DataStore.class);
when(srcStore.getScope()).thenReturn(srcScope);
when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
when(srcStore.getId()).thenReturn(srcStoreId);
when(destStore.getScope()).thenReturn(srcScope);
when(destStore.getRole()).thenReturn(DataStoreRole.Image);
when(destStore.getId()).thenReturn(destStoreId);
DataObject srcObj = mock(DataObject.class);
DataObject destObj = mock(DataObject.class);
when(srcObj.getDataStore()).thenReturn(srcStore);
when(destObj.getDataStore()).thenReturn(destStore);
EndPoint ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
Long hostId = ep.getId();
HostVO newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
when(srcStore.getRole()).thenReturn(DataStoreRole.Image);
when(srcStore.getId()).thenReturn(destStoreId);
when(destStore.getId()).thenReturn(srcStoreId);
when(destStore.getRole()).thenReturn(DataStoreRole.Primary);
ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
hostId = ep.getId();
newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
ClusterScope clusterScope = new ClusterScope(clusterId, podId, dcId);
when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
when(srcStore.getScope()).thenReturn(clusterScope);
when(srcStore.getId()).thenReturn(xenStoreId);
ep = endPointSelector.select(srcStore);
Assert.assertTrue(ep != null);
newHost = hostDao.findById(ep.getId());
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.XenServer);
}
Reusable Method for MCI (click to expand)
private static DataStore createMockDataStore(Long idReturn, DataStoreRole roleReturn, ZoneScope scopeReturn) {
DataStore dataStore = mock(DataStore.class);
when(dataStore.getId()).thenReturn(idReturn);
when(dataStore.getRole()).thenReturn(roleReturn);
when(dataStore.getScope()).thenReturn(scopeReturn);
return dataStore;
}
Test Case ID #cloudstack_Test_136_2
Test Case Name: testMixZonePrimaryStorages(File: C:\Java_projects\Apache\cloudstack\engine\storage\integration-test\src\test\java\org\apache\cloudstack\storage\test\EndpointSelectorTest.java)
Mock Object Variable Name: destStore
Suggested Diff
@@
DataStore srcStore = mock(DataStore.class);
- DataStore destStore = mock(DataStore.class);
- when(destStore.getScope()).thenReturn(srcScope);
- when(destStore.getRole()).thenReturn(DataStoreRole.Image);
- when(destStore.getId()).thenReturn(destStoreId);
+ DataStore destStore = createMockDataStore(destStoreId, DataStoreRole.Image, srcScope);
DataObject srcObj = mock(DataObject.class);
DataObject destObj = mock(DataObject.class);
when(srcObj.getDataStore()).thenReturn(srcStore);
when(destObj.getDataStore()).thenReturn(destStore);
EndPoint ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
Long hostId = ep.getId();
HostVO newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
when(srcStore.getRole()).thenReturn(DataStoreRole.Image);
when(srcStore.getId()).thenReturn(destStoreId);
- when(destStore.getId()).thenReturn(srcStoreId);
- when(destStore.getRole()).thenReturn(DataStoreRole.Primary);
+ when(destStore.getId()).thenReturn(srcStoreId);
+ when(destStore.getRole()).thenReturn(DataStoreRole.Primary);
ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
hostId = ep.getId();
newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
ClusterScope clusterScope = new ClusterScope(clusterId, podId, dcId);
when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
when(srcStore.getScope()).thenReturn(clusterScope);
when(srcStore.getId()).thenReturn(xenStoreId);
ep = endPointSelector.select(srcStore);
Assert.assertTrue(ep != null);
newHost = hostDao.findById(ep.getId());
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.XenServer);
}
Original Test Code (click to expand)
@Test
public void testMixZonePrimaryStorages() {
Long srcStoreId = null;
Long destStoreId = imageStore.getId();
DataStore store = createPrimaryDataStore(ScopeType.ZONE);
srcStoreId = store.getId();
HostVO host = createHost(Hypervisor.HypervisorType.VMware);
addStorageToHost(store, host);
store = createPrimaryDataStore(ScopeType.ZONE);
host = createHost(Hypervisor.HypervisorType.VMware);
addStorageToHost(store, host);
Long xenStoreId = null;
store = createPrimaryDataStore(ScopeType.CLUSTER);
xenStoreId = store.getId();
host = createHost(Hypervisor.HypervisorType.XenServer);
addStorageToHost(store, host);
store = createPrimaryDataStore(ScopeType.CLUSTER);
host = createHost(Hypervisor.HypervisorType.XenServer);
addStorageToHost(store, host);
ZoneScope srcScope = new ZoneScope(dcId);
DataStore srcStore = mock(DataStore.class);
DataStore destStore = mock(DataStore.class);
when(srcStore.getScope()).thenReturn(srcScope);
when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
when(srcStore.getId()).thenReturn(srcStoreId);
when(destStore.getScope()).thenReturn(srcScope);
when(destStore.getRole()).thenReturn(DataStoreRole.Image);
when(destStore.getId()).thenReturn(destStoreId);
DataObject srcObj = mock(DataObject.class);
DataObject destObj = mock(DataObject.class);
when(srcObj.getDataStore()).thenReturn(srcStore);
when(destObj.getDataStore()).thenReturn(destStore);
EndPoint ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
Long hostId = ep.getId();
HostVO newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
when(srcStore.getRole()).thenReturn(DataStoreRole.Image);
when(srcStore.getId()).thenReturn(destStoreId);
when(destStore.getId()).thenReturn(srcStoreId);
when(destStore.getRole()).thenReturn(DataStoreRole.Primary);
ep = endPointSelector.select(srcObj, destObj);
Assert.assertTrue(ep != null);
hostId = ep.getId();
newHost = hostDao.findById(hostId);
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.VMware);
ClusterScope clusterScope = new ClusterScope(clusterId, podId, dcId);
when(srcStore.getRole()).thenReturn(DataStoreRole.Primary);
when(srcStore.getScope()).thenReturn(clusterScope);
when(srcStore.getId()).thenReturn(xenStoreId);
ep = endPointSelector.select(srcStore);
Assert.assertTrue(ep != null);
newHost = hostDao.findById(ep.getId());
Assert.assertTrue(newHost.getHypervisorType() == Hypervisor.HypervisorType.XenServer);
}
Reusable Method for MCI (click to expand)
private static DataStore createMockDataStore(Long idReturn, DataStoreRole roleReturn, ZoneScope scopeReturn) {
DataStore dataStore = mock(DataStore.class);
when(dataStore.getId()).thenReturn(idReturn);
when(dataStore.getRole()).thenReturn(roleReturn);
when(dataStore.getScope()).thenReturn(scopeReturn);
return dataStore;
}
Mock Clone Instance #cloudstack_MCI_137
- Scope: class level
- Mocked Class:
org.apache.cloudstack.acl.Role
- Test Case Count: 4
- MO Count: 4
Reusable Method
public class MockRole {
public static Role createMockRole(String description, String name, RoleType roleType, String uuid) {
Role role = Mockito.mock(Role.class);
when(role.getDescription()).thenReturn(description);
when(role.getName()).thenReturn(name);
when(role.getRoleType()).thenReturn(roleType);
when(role.getUuid()).thenReturn(uuid);
return role;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_137_1
Test Case Name: testCreateRoleWithExistingRole(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\CreateRoleCmdTest.java)
Mock Object Variable Name: newRole
Suggested Diff
@@
when(roleService.findRole(createRoleCmd.getRoleId())).thenReturn(role);
- Role newRole = Mockito.mock(Role.class);
- when(newRole.getId()).thenReturn(2L);
- when(newRole.getUuid()).thenReturn("67890-xyztestid");
- when(newRole.getDescription()).thenReturn("User test");
- when(newRole.getName()).thenReturn("testuser");
- when(newRole.getRoleType()).thenReturn(RoleType.User);
+ Role newRole = MockRole.createMockRole("User test", "testuser", RoleType.User, "67890-xyztestid");
+ when(newRole.getId()).thenReturn(2L);
when(roleService.createRole(createRoleCmd.getRoleName(), role, createRoleCmd.getRoleDescription())).thenReturn(newRole);
createRoleCmd.execute();
RoleResponse response = (RoleResponse) createRoleCmd.getResponseObject();
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleName"), newRole.getName());
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleDescription"), newRole.getDescription());
@@
Original Test Code (click to expand)
@Test
public void testCreateRoleWithExistingRole() {
ReflectionTestUtils.setField(createRoleCmd, "roleId", 1L);
when(roleService.findRole(createRoleCmd.getRoleId())).thenReturn(role);
Role newRole = Mockito.mock(Role.class);
when(newRole.getId()).thenReturn(2L);
when(newRole.getUuid()).thenReturn("67890-xyztestid");
when(newRole.getDescription()).thenReturn("User test");
when(newRole.getName()).thenReturn("testuser");
when(newRole.getRoleType()).thenReturn(RoleType.User);
when(roleService.createRole(createRoleCmd.getRoleName(), role, createRoleCmd.getRoleDescription())).thenReturn(newRole);
createRoleCmd.execute();
RoleResponse response = (RoleResponse) createRoleCmd.getResponseObject();
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleName"), newRole.getName());
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleDescription"), newRole.getDescription());
}
Reusable Method for MCI (click to expand)
public class MockRole {
public static Role createMockRole(String description, String name, RoleType roleType, String uuid) {
Role role = Mockito.mock(Role.class);
when(role.getDescription()).thenReturn(description);
when(role.getName()).thenReturn(name);
when(role.getRoleType()).thenReturn(roleType);
when(role.getUuid()).thenReturn(uuid);
return role;
}
}
Test Case ID #cloudstack_Test_137_2
Test Case Name: testCreateRoleWithRoleType(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\CreateRoleCmdTest.java)
Mock Object Variable Name: role
Suggested Diff
@@
ReflectionTestUtils.setField(createRoleCmd, "roleType", "User");
- when(role.getId()).thenReturn(1L);
- when(role.getUuid()).thenReturn("12345-abcgdkajd");
- when(role.getDescription()).thenReturn("User test");
- when(role.getName()).thenReturn("testuser");
- when(role.getRoleType()).thenReturn(RoleType.User);
+ role = MockRole.createMockRole("User test", "testuser", RoleType.User, "12345-abcgdkajd");
+ when(role.getId()).thenReturn(1L);
when(roleService.createRole(createRoleCmd.getRoleName(), createRoleCmd.getRoleType(), createRoleCmd.getRoleDescription())).thenReturn(role);
createRoleCmd.execute();
RoleResponse response = (RoleResponse) createRoleCmd.getResponseObject();
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleName"), role.getName());
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleDescription"), role.getDescription());
}
Original Test Code (click to expand)
@Test
public void testCreateRoleWithRoleType() {
ReflectionTestUtils.setField(createRoleCmd, "roleType", "User");
when(role.getId()).thenReturn(1L);
when(role.getUuid()).thenReturn("12345-abcgdkajd");
when(role.getDescription()).thenReturn("User test");
when(role.getName()).thenReturn("testuser");
when(role.getRoleType()).thenReturn(RoleType.User);
when(roleService.createRole(createRoleCmd.getRoleName(), createRoleCmd.getRoleType(), createRoleCmd.getRoleDescription())).thenReturn(role);
createRoleCmd.execute();
RoleResponse response = (RoleResponse) createRoleCmd.getResponseObject();
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleName"), role.getName());
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleDescription"), role.getDescription());
}
@Before
public void setUp() {
roleService = Mockito.spy(RoleService.class);
createRoleCmd = new CreateRoleCmd();
ReflectionTestUtils.setField(createRoleCmd, "roleService", roleService);
ReflectionTestUtils.setField(createRoleCmd, "roleName", "testuser");
ReflectionTestUtils.setField(createRoleCmd, "roleDescription", "User test");
role = Mockito.mock(Role.class);
}
Reusable Method for MCI (click to expand)
public class MockRole {
public static Role createMockRole(String description, String name, RoleType roleType, String uuid) {
Role role = Mockito.mock(Role.class);
when(role.getDescription()).thenReturn(description);
when(role.getName()).thenReturn(name);
when(role.getRoleType()).thenReturn(roleType);
when(role.getUuid()).thenReturn(uuid);
return role;
}
}
Test Case ID #cloudstack_Test_137_3
Test Case Name: testImportRoleSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\ImportRoleCmdTest.java)
Mock Object Variable Name: role
Suggested Diff
@@
ReflectionTestUtils.setField(importRoleCmd, "rules", rules);
- when(role.getUuid()).thenReturn("12345-abcgdkajd");
- when(role.getDescription()).thenReturn("test user imported");
- when(role.getName()).thenReturn("Test User");
- when(role.getRoleType()).thenReturn(RoleType.User);
+ role = MockRole.createMockRole("test user imported", "Test User", RoleType.User, "12345-abcgdkajd");
when(roleService.importRole(anyString(), any(), anyString(), any(), anyBoolean())).thenReturn(role);
importRoleCmd.execute();
RoleResponse response = (RoleResponse) importRoleCmd.getResponseObject();
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleName"), role.getName());
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleDescription"), role.getDescription());
}
Original Test Code (click to expand)
@Before
public void setUp() {
roleService = Mockito.spy(RoleService.class);
importRoleCmd = new ImportRoleCmd();
ReflectionTestUtils.setField(importRoleCmd, "roleService", roleService);
ReflectionTestUtils.setField(importRoleCmd, "roleName", "Test User");
ReflectionTestUtils.setField(importRoleCmd, "roleType", "User");
ReflectionTestUtils.setField(importRoleCmd, "roleDescription", "test user imported");
role = Mockito.mock(Role.class);
}
@Test
public void testImportRoleSuccess() {
Map<String, Map<String, String>> rules = new HashMap<String, Map<String, String>>();
Map<String, String> rule1 = new HashMap<String, String>();
rule1.put(ApiConstants.RULE, "list*");
rule1.put(ApiConstants.PERMISSION, "allow");
rule1.put(ApiConstants.DESCRIPTION, "listing apis");
rules.put("key1", rule1);
Map<String, String> rule2 = new HashMap<String, String>();
rule2.put(ApiConstants.RULE, "update*");
rule2.put(ApiConstants.PERMISSION, "deny");
rule2.put(ApiConstants.DESCRIPTION, "no update allowed");
rules.put("key2", rule2);
Map<String, String> rule3 = new HashMap<String, String>();
rule3.put(ApiConstants.RULE, "get*");
rule3.put(ApiConstants.PERMISSION, "allow");
rule3.put(ApiConstants.DESCRIPTION, "get details");
rules.put("key3", rule3);
ReflectionTestUtils.setField(importRoleCmd, "rules", rules);
when(role.getUuid()).thenReturn("12345-abcgdkajd");
when(role.getDescription()).thenReturn("test user imported");
when(role.getName()).thenReturn("Test User");
when(role.getRoleType()).thenReturn(RoleType.User);
when(roleService.importRole(anyString(), any(), anyString(), any(), anyBoolean())).thenReturn(role);
importRoleCmd.execute();
RoleResponse response = (RoleResponse) importRoleCmd.getResponseObject();
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleName"), role.getName());
Assert.assertEquals((String) ReflectionTestUtils.getField(response, "roleDescription"), role.getDescription());
}
Reusable Method for MCI (click to expand)
public class MockRole {
public static Role createMockRole(String description, String name, RoleType roleType, String uuid) {
Role role = Mockito.mock(Role.class);
when(role.getDescription()).thenReturn(description);
when(role.getName()).thenReturn(name);
when(role.getRoleType()).thenReturn(roleType);
when(role.getUuid()).thenReturn(uuid);
return role;
}
}
Test Case ID #cloudstack_Test_137_4
Test Case Name: testUpdateSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\UpdateRoleCmdTest.java)
Mock Object Variable Name: role
Suggested Diff
@@
when(roleService.findRole(updateRoleCmd.getRoleId())).thenReturn(role);
- when(role.getId()).thenReturn(1L);
- when(role.getUuid()).thenReturn("12345-abcgdkajd");
- when(role.getDescription()).thenReturn("Default user");
- when(role.getName()).thenReturn("User");
- when(role.getRoleType()).thenReturn(RoleType.User);
+ role = MockRole.createMockRole("Default user", "User", RoleType.User, "12345-abcgdkajd");
+ when(role.getId()).thenReturn(1L);
when(roleService.updateRole(role, updateRoleCmd.getRoleName(), updateRoleCmd.getRoleType(), updateRoleCmd.getRoleDescription())).thenReturn(role);
when(role.getId()).thenReturn(1L);
when(role.getDescription()).thenReturn("Description Initial");
when(role.getName()).thenReturn("User");
updateRoleCmd.execute();
RoleResponse response = (RoleResponse) updateRoleCmd.getResponseObject();
assertEquals((String) ReflectionTestUtils.getField(response, "roleName"), role.getName());
assertEquals((String) ReflectionTestUtils.getField(response, "roleDescription"), role.getDescription());
@@
Original Test Code (click to expand)
@Override
@Before
public void setUp() {
roleService = Mockito.spy(RoleService.class);
updateRoleCmd = new UpdateRoleCmd();
ReflectionTestUtils.setField(updateRoleCmd, "roleService", roleService);
ReflectionTestUtils.setField(updateRoleCmd, "roleId", 1L);
ReflectionTestUtils.setField(updateRoleCmd, "roleName", "user");
ReflectionTestUtils.setField(updateRoleCmd, "roleType", "User");
ReflectionTestUtils.setField(updateRoleCmd, "roleDescription", "Description Initial");
role = Mockito.mock(Role.class);
}
@Test
public void testUpdateSuccess() {
when(roleService.findRole(updateRoleCmd.getRoleId())).thenReturn(role);
when(role.getId()).thenReturn(1L);
when(role.getUuid()).thenReturn("12345-abcgdkajd");
when(role.getDescription()).thenReturn("Default user");
when(role.getName()).thenReturn("User");
when(role.getRoleType()).thenReturn(RoleType.User);
when(roleService.updateRole(role, updateRoleCmd.getRoleName(), updateRoleCmd.getRoleType(), updateRoleCmd.getRoleDescription())).thenReturn(role);
when(role.getId()).thenReturn(1L);
when(role.getDescription()).thenReturn("Description Initial");
when(role.getName()).thenReturn("User");
updateRoleCmd.execute();
RoleResponse response = (RoleResponse) updateRoleCmd.getResponseObject();
assertEquals((String) ReflectionTestUtils.getField(response, "roleName"), role.getName());
assertEquals((String) ReflectionTestUtils.getField(response, "roleDescription"), role.getDescription());
}
Reusable Method for MCI (click to expand)
public class MockRole {
public static Role createMockRole(String description, String name, RoleType roleType, String uuid) {
Role role = Mockito.mock(Role.class);
when(role.getDescription()).thenReturn(description);
when(role.getName()).thenReturn(name);
when(role.getRoleType()).thenReturn(roleType);
when(role.getUuid()).thenReturn(uuid);
return role;
}
}
Mock Clone Instance #cloudstack_MCI_138
- Scope: method level
- Mocked Class:
org.apache.cloudstack.acl.Role
- Test Case Count: 1
- MO Count: 4
Reusable Method
private static Role createMockRole(RoleType roleType) {
Role role = Mockito.mock(Role.class);
Mockito.doReturn(roleType).when(role).getRoleType();
return role;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_138_1
Test Case Name: removeRootAdminRolesTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\acl\RoleManagerImplTest.java)
Mock Object Variable Name: roleRootAdmin
Suggested Diff
@@
List<Role> roles = new ArrayList<>();
- Role roleRootAdmin = Mockito.mock(Role.class);
- Mockito.doReturn(RoleType.Admin).when(roleRootAdmin).getRoleType();
+ Role roleRootAdmin = createMockRole(RoleType.Admin);
Role roleDomainAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.DomainAdmin).when(roleDomainAdmin).getRoleType();
Role roleResourceAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.ResourceAdmin).when(roleResourceAdmin).getRoleType();
Role roleUser = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.User).when(roleUser).getRoleType();
roles.add(roleRootAdmin);
roles.add(roleDomainAdmin);
roles.add(roleResourceAdmin);
roles.add(roleUser);
roleManagerImpl.removeRootAdminRoles(roles);
Assert.assertEquals(3, roles.size());
Assert.assertEquals(roleDomainAdmin, roles.get(0));
Assert.assertEquals(roleResourceAdmin, roles.get(1));
Assert.assertEquals(roleUser, roles.get(2));
@@
Original Test Code (click to expand)
@Test
public void removeRootAdminRolesTest() {
List<Role> roles = new ArrayList<>();
Role roleRootAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.Admin).when(roleRootAdmin).getRoleType();
Role roleDomainAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.DomainAdmin).when(roleDomainAdmin).getRoleType();
Role roleResourceAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.ResourceAdmin).when(roleResourceAdmin).getRoleType();
Role roleUser = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.User).when(roleUser).getRoleType();
roles.add(roleRootAdmin);
roles.add(roleDomainAdmin);
roles.add(roleResourceAdmin);
roles.add(roleUser);
roleManagerImpl.removeRootAdminRoles(roles);
Assert.assertEquals(3, roles.size());
Assert.assertEquals(roleDomainAdmin, roles.get(0));
Assert.assertEquals(roleResourceAdmin, roles.get(1));
Assert.assertEquals(roleUser, roles.get(2));
}
Reusable Method for MCI (click to expand)
private static Role createMockRole(RoleType roleType) {
Role role = Mockito.mock(Role.class);
Mockito.doReturn(roleType).when(role).getRoleType();
return role;
}
Test Case ID #cloudstack_Test_138_2
Test Case Name: removeRootAdminRolesTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\acl\RoleManagerImplTest.java)
Mock Object Variable Name: roleDomainAdmin
Suggested Diff
@@
Role roleRootAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.Admin).when(roleRootAdmin).getRoleType();
- Role roleDomainAdmin = Mockito.mock(Role.class);
- Mockito.doReturn(RoleType.DomainAdmin).when(roleDomainAdmin).getRoleType();
+ Role roleDomainAdmin = createMockRole(RoleType.DomainAdmin);
Role roleResourceAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.ResourceAdmin).when(roleResourceAdmin).getRoleType();
@@
Original Test Code (click to expand)
@Test
public void removeRootAdminRolesTest() {
List<Role> roles = new ArrayList<>();
Role roleRootAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.Admin).when(roleRootAdmin).getRoleType();
Role roleDomainAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.DomainAdmin).when(roleDomainAdmin).getRoleType();
Role roleResourceAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.ResourceAdmin).when(roleResourceAdmin).getRoleType();
Role roleUser = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.User).when(roleUser).getRoleType();
roles.add(roleRootAdmin);
roles.add(roleDomainAdmin);
roles.add(roleResourceAdmin);
roles.add(roleUser);
roleManagerImpl.removeRootAdminRoles(roles);
Assert.assertEquals(3, roles.size());
Assert.assertEquals(roleDomainAdmin, roles.get(0));
Assert.assertEquals(roleResourceAdmin, roles.get(1));
Assert.assertEquals(roleUser, roles.get(2));
}
Reusable Method for MCI (click to expand)
private static Role createMockRole(RoleType roleType) {
Role role = Mockito.mock(Role.class);
Mockito.doReturn(roleType).when(role).getRoleType();
return role;
}
Test Case ID #cloudstack_Test_138_3
Test Case Name: removeRootAdminRolesTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\acl\RoleManagerImplTest.java)
Mock Object Variable Name: roleResourceAdmin
Suggested Diff
@@
Role roleRootAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.Admin).when(roleRootAdmin).getRoleType();
Role roleDomainAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.DomainAdmin).when(roleDomainAdmin).getRoleType();
- Role roleResourceAdmin = Mockito.mock(Role.class);
- Mockito.doReturn(RoleType.ResourceAdmin).when(roleResourceAdmin).getRoleType();
+ Role roleResourceAdmin = createMockRole(RoleType.ResourceAdmin);
Role roleUser = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.User).when(roleUser).getRoleType();
roles.add(roleRootAdmin);
@@
Original Test Code (click to expand)
@Test
public void removeRootAdminRolesTest() {
List<Role> roles = new ArrayList<>();
Role roleRootAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.Admin).when(roleRootAdmin).getRoleType();
Role roleDomainAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.DomainAdmin).when(roleDomainAdmin).getRoleType();
Role roleResourceAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.ResourceAdmin).when(roleResourceAdmin).getRoleType();
Role roleUser = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.User).when(roleUser).getRoleType();
roles.add(roleRootAdmin);
roles.add(roleDomainAdmin);
roles.add(roleResourceAdmin);
roles.add(roleUser);
roleManagerImpl.removeRootAdminRoles(roles);
Assert.assertEquals(3, roles.size());
Assert.assertEquals(roleDomainAdmin, roles.get(0));
Assert.assertEquals(roleResourceAdmin, roles.get(1));
Assert.assertEquals(roleUser, roles.get(2));
}
Reusable Method for MCI (click to expand)
private static Role createMockRole(RoleType roleType) {
Role role = Mockito.mock(Role.class);
Mockito.doReturn(roleType).when(role).getRoleType();
return role;
}
Test Case ID #cloudstack_Test_138_4
Test Case Name: removeRootAdminRolesTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\acl\RoleManagerImplTest.java)
Mock Object Variable Name: roleUser
Suggested Diff
@@
Role roleResourceAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.ResourceAdmin).when(roleResourceAdmin).getRoleType();
- Role roleUser = Mockito.mock(Role.class);
- Mockito.doReturn(RoleType.User).when(roleUser).getRoleType();
+ Role roleUser = createMockRole(RoleType.User);
roles.add(roleRootAdmin);
roles.add(roleDomainAdmin);
roles.add(roleResourceAdmin);
roles.add(roleUser);
@@
Original Test Code (click to expand)
@Test
public void removeRootAdminRolesTest() {
List<Role> roles = new ArrayList<>();
Role roleRootAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.Admin).when(roleRootAdmin).getRoleType();
Role roleDomainAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.DomainAdmin).when(roleDomainAdmin).getRoleType();
Role roleResourceAdmin = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.ResourceAdmin).when(roleResourceAdmin).getRoleType();
Role roleUser = Mockito.mock(Role.class);
Mockito.doReturn(RoleType.User).when(roleUser).getRoleType();
roles.add(roleRootAdmin);
roles.add(roleDomainAdmin);
roles.add(roleResourceAdmin);
roles.add(roleUser);
roleManagerImpl.removeRootAdminRoles(roles);
Assert.assertEquals(3, roles.size());
Assert.assertEquals(roleDomainAdmin, roles.get(0));
Assert.assertEquals(roleResourceAdmin, roles.get(1));
Assert.assertEquals(roleUser, roles.get(2));
}
Reusable Method for MCI (click to expand)
private static Role createMockRole(RoleType roleType) {
Role role = Mockito.mock(Role.class);
Mockito.doReturn(roleType).when(role).getRoleType();
return role;
}
Mock Clone Instance #cloudstack_MCI_139
- Scope: method level
- Mocked Class:
org.apache.cloudstack.acl.Role
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static Role createMockRole(RoleType roleTypeReturn) {
Role role = Mockito.mock(Role.class);
Mockito.when(role.getRoleType()).thenReturn(roleTypeReturn);
return role;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_139_1
Test Case Name: testAddAnnotationResourceDetailsUpdate(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\annotation\AnnotationManagerImplTest.java)
Mock Object Variable Name: role
Suggested Diff
@@
Mockito.doNothing().when(accountService).checkAccess(user, volume);
- Role role = Mockito.mock(Role.class);
- Mockito.when(role.getRoleType()).thenReturn(RoleType.User);
+ Role role = createMockRole(RoleType.User);
Mockito.when(roleService.findRole(Mockito.anyLong())).thenReturn(role);
AnnotationVO annotationVO = Mockito.mock(AnnotationVO.class);
AnnotationService.EntityType type = AnnotationService.EntityType.VOLUME;
@@
Original Test Code (click to expand)
@Test
public void testAddAnnotationResourceDetailsUpdate() {
CallContext.register(user, account);
String uuid = UUID.randomUUID().toString();
VolumeVO volume = Mockito.mock(VolumeVO.class);
Mockito.when(volume.getId()).thenReturn(ENTITY_ID);
Mockito.when(volumeDao.findByUuid(uuid)).thenReturn(volume);
Mockito.doNothing().when(accountService).checkAccess(user, volume);
Role role = Mockito.mock(Role.class);
Mockito.when(role.getRoleType()).thenReturn(RoleType.User);
Mockito.when(roleService.findRole(Mockito.anyLong())).thenReturn(role);
AnnotationVO annotationVO = Mockito.mock(AnnotationVO.class);
AnnotationService.EntityType type = AnnotationService.EntityType.VOLUME;
Mockito.when(annotationVO.getEntityType()).thenReturn(type);
Mockito.when(annotationDao.persist(Mockito.any())).thenReturn(annotationVO);
Mockito.when(entityManager.findByUuid(Volume.class, uuid)).thenReturn(volume);
annotationManager.addAnnotation("Some text", type, uuid, false);
Assert.assertEquals(ENTITY_ID, CallContext.current().getEventResourceId());
Assert.assertEquals(ApiCommandResourceType.Volume, CallContext.current().getEventResourceType());
}
Reusable Method for MCI (click to expand)
private static Role createMockRole(RoleType roleTypeReturn) {
Role role = Mockito.mock(Role.class);
Mockito.when(role.getRoleType()).thenReturn(roleTypeReturn);
return role;
}
Test Case ID #cloudstack_Test_139_2
Test Case Name: testRemoveAnnotationResourceDetailsUpdate(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\annotation\AnnotationManagerImplTest.java)
Mock Object Variable Name: role
Suggested Diff
@@
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(ENTITY_ID);
- Role role = Mockito.mock(Role.class);
- Mockito.when(role.getRoleType()).thenReturn(RoleType.User);
+ Role role = createMockRole(RoleType.User);
Mockito.when(roleService.findRole(Mockito.anyLong())).thenReturn(role);
AnnotationVO annotationVO = Mockito.mock(AnnotationVO.class);
AnnotationService.EntityType type = AnnotationService.EntityType.VM;
@@
Original Test Code (click to expand)
@Test
public void testRemoveAnnotationResourceDetailsUpdate() {
CallContext.register(user, account);
String uuid = UUID.randomUUID().toString();
String annotationUuid = UUID.randomUUID().toString();
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(ENTITY_ID);
Role role = Mockito.mock(Role.class);
Mockito.when(role.getRoleType()).thenReturn(RoleType.User);
Mockito.when(roleService.findRole(Mockito.anyLong())).thenReturn(role);
AnnotationVO annotationVO = Mockito.mock(AnnotationVO.class);
AnnotationService.EntityType type = AnnotationService.EntityType.VM;
Mockito.when(annotationVO.getUuid()).thenReturn(annotationUuid);
Mockito.when(annotationVO.getUserUuid()).thenReturn(user.getUuid());
Mockito.when(annotationVO.getEntityType()).thenReturn(type);
Mockito.when(annotationVO.getEntityUuid()).thenReturn(uuid);
Mockito.when(annotationDao.findByUuid(annotationUuid)).thenReturn(annotationVO);
Mockito.when(entityManager.findByUuid(VirtualMachine.class, uuid)).thenReturn(vm);
RemoveAnnotationCmd cmd = Mockito.mock(RemoveAnnotationCmd.class);
Mockito.when(cmd.getUuid()).thenReturn(annotationUuid);
annotationManager.removeAnnotation(cmd);
Assert.assertEquals(ENTITY_ID, CallContext.current().getEventResourceId());
Assert.assertEquals(ApiCommandResourceType.VirtualMachine, CallContext.current().getEventResourceType());
}
Reusable Method for MCI (click to expand)
private static Role createMockRole(RoleType roleTypeReturn) {
Role role = Mockito.mock(Role.class);
Mockito.when(role.getRoleType()).thenReturn(roleTypeReturn);
return role;
}
Mock Clone Instance #cloudstack_MCI_140
- Scope: class level
- Mocked Class:
org.apache.cloudstack.api.ResponseGenerator
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(ResponseObject.ResponseView responseView, Vpc vpc, VpcResponse response) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createVpcResponse(responseView, vpc)).thenReturn(response);
return responseGenerator;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_140_1
Test Case Name: testExecute(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\vpc\CreateVPCCmdTest.java)
Mock Object Variable Name: responseGenerator
Suggested Diff
@@
Vpc vpc = Mockito.mock(Vpc.class);
VpcResponse response = Mockito.mock(VpcResponse.class);
- responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(_vpcService.startVpc(1L, true)).thenReturn(true);
Mockito.when(_entityMgr.findById(Mockito.eq(Vpc.class), Mockito.any(Long.class))).thenReturn(vpc);
- cmd._responseGenerator = responseGenerator;
- Mockito.when(responseGenerator.createVpcResponse(ResponseObject.ResponseView.Restricted, vpc)).thenReturn(response);
+ responseGenerator = MockResponseGenerator.createMockResponseGenerator(ResponseObject.ResponseView.Restricted, vpc, response);
+ cmd._responseGenerator = responseGenerator;
cmd.execute();
Mockito.verify(_vpcService, Mockito.times(1)).startVpc(Mockito.anyLong(), Mockito.anyBoolean());
@@
Original Test Code (click to expand)
public void testExecute() throws ResourceUnavailableException, InsufficientCapacityException {
ReflectionTestUtils.setField(cmd, "start", true);
Vpc vpc = Mockito.mock(Vpc.class);
VpcResponse response = Mockito.mock(VpcResponse.class);
responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(_vpcService.startVpc(1L, true)).thenReturn(true);
Mockito.when(_entityMgr.findById(Mockito.eq(Vpc.class), Mockito.any(Long.class))).thenReturn(vpc);
cmd._responseGenerator = responseGenerator;
Mockito.when(responseGenerator.createVpcResponse(ResponseObject.ResponseView.Restricted, vpc)).thenReturn(response);
cmd.execute();
Mockito.verify(_vpcService, Mockito.times(1)).startVpc(Mockito.anyLong(), Mockito.anyBoolean());
}
Reusable Method for MCI (click to expand)
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(ResponseObject.ResponseView responseView, Vpc vpc, VpcResponse response) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createVpcResponse(responseView, vpc)).thenReturn(response);
return responseGenerator;
}
}
Test Case ID #cloudstack_Test_140_2
Test Case Name: testExecute(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\vpc\UpdateVPCCmdTest.java)
Mock Object Variable Name: responseGenerator
Suggested Diff
@@
ReflectionTestUtils.setField(cmd, "display", true);
ReflectionTestUtils.setField(cmd, "publicMtu", 1450);
Vpc vpc = Mockito.mock(Vpc.class);
VpcResponse response = Mockito.mock(VpcResponse.class);
- responseGenerator = Mockito.mock(ResponseGenerator.class);
- cmd._responseGenerator = responseGenerator;
- Mockito.when(_vpcService.updateVpc(Mockito.anyLong(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyInt())).thenReturn(vpc);
- Mockito.when(responseGenerator.createVpcResponse(ResponseObject.ResponseView.Full, vpc)).thenReturn(response);
+ responseGenerator = MockResponseGenerator.createMockResponseGenerator(ResponseObject.ResponseView.Full, vpc, response);
+ cmd._responseGenerator = responseGenerator;
+ Mockito.when(_vpcService.updateVpc(Mockito.anyLong(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyInt())).thenReturn(vpc);
Mockito.verify(_vpcService, Mockito.times(0)).updateVpc(Mockito.anyLong(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyInt());
@@
Original Test Code (click to expand)
public void testExecute() {
ReflectionTestUtils.setField(cmd, "id", 1L);
ReflectionTestUtils.setField(cmd, "vpcName", "updatedVpcName");
ReflectionTestUtils.setField(cmd, "displayText", "Updated VPC Name");
ReflectionTestUtils.setField(cmd, "displayText", "Updated VPC Name");
ReflectionTestUtils.setField(cmd, "customId", null);
ReflectionTestUtils.setField(cmd, "display", true);
ReflectionTestUtils.setField(cmd, "publicMtu", 1450);
Vpc vpc = Mockito.mock(Vpc.class);
VpcResponse response = Mockito.mock(VpcResponse.class);
responseGenerator = Mockito.mock(ResponseGenerator.class);
cmd._responseGenerator = responseGenerator;
Mockito.when(_vpcService.updateVpc(Mockito.anyLong(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyInt())).thenReturn(vpc);
Mockito.when(responseGenerator.createVpcResponse(ResponseObject.ResponseView.Full, vpc)).thenReturn(response);
Mockito.verify(_vpcService, Mockito.times(0)).updateVpc(Mockito.anyLong(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyInt());
}
Reusable Method for MCI (click to expand)
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(ResponseObject.ResponseView responseView, Vpc vpc, VpcResponse response) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createVpcResponse(responseView, vpc)).thenReturn(response);
return responseGenerator;
}
}
Mock Clone Instance #cloudstack_MCI_141
- Scope: class level
- Mocked Class:
org.apache.cloudstack.api.ResponseGenerator
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(Configuration cfg, ConfigurationResponse cfgResponse) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createConfigurationResponse(cfg)).thenReturn(cfgResponse);
return responseGenerator;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_141_1
Test Case Name: testCreateSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\ListCfgCmdTest.java)
Mock Object Variable Name: responseGenerator
Suggested Diff
@@
cfgResponse.setName("Test case");
- Mockito.when(responseGenerator.createConfigurationResponse(cfg)).thenReturn(cfgResponse);
+ responseGenerator = MockResponseGenerator.createMockResponseGenerator(cfg, cfgResponse);
listCfgsByCmd.execute();
Mockito.verify(responseGenerator).createConfigurationResponse(cfg);
ListResponse<ConfigurationResponse> actualResponse = (ListResponse<ConfigurationResponse>) listCfgsByCmd.getResponseObject();
Assert.assertEquals(cfgResponse, actualResponse.getResponses().get(0));
@@
Original Test Code (click to expand)
@Override
@Before
public void setUp() {
responseGenerator = Mockito.mock(ResponseGenerator.class);
mgr = Mockito.mock(ManagementService.class);
listCfgsByCmd = new ListCfgsByCmd();
}
@Test
public void testCreateSuccess() {
Configuration cfg = Mockito.mock(Configuration.class);
listCfgsByCmd._mgr = mgr;
listCfgsByCmd._responseGenerator = responseGenerator;
List<Configuration> configList = new ArrayList<Configuration>();
configList.add(cfg);
Pair<List<? extends Configuration>, Integer> result = new Pair<List<? extends Configuration>, Integer>(configList, 1);
try {
Mockito.when(mgr.searchForConfigurations(listCfgsByCmd)).thenReturn(result);
} catch (Exception e) {
Assert.fail("Received exception when success expected " + e.getMessage());
}
ConfigurationResponse cfgResponse = new ConfigurationResponse();
cfgResponse.setName("Test case");
Mockito.when(responseGenerator.createConfigurationResponse(cfg)).thenReturn(cfgResponse);
listCfgsByCmd.execute();
Mockito.verify(responseGenerator).createConfigurationResponse(cfg);
ListResponse<ConfigurationResponse> actualResponse = (ListResponse<ConfigurationResponse>) listCfgsByCmd.getResponseObject();
Assert.assertEquals(cfgResponse, actualResponse.getResponses().get(0));
}
Reusable Method for MCI (click to expand)
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(Configuration cfg, ConfigurationResponse cfgResponse) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createConfigurationResponse(cfg)).thenReturn(cfgResponse);
return responseGenerator;
}
}
Test Case ID #cloudstack_Test_141_2
Test Case Name: testCreateSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\UpdateCfgCmdTest.java)
Mock Object Variable Name: responseGenerator
Suggested Diff
@@
ConfigurationResponse response = new ConfigurationResponse();
response.setName("Test case");
- Mockito.when(responseGenerator.createConfigurationResponse(cfg)).thenReturn(response);
+ responseGenerator = MockResponseGenerator.createMockResponseGenerator(cfg, response);
updateCfgCmd.execute();
Mockito.verify(responseGenerator).createConfigurationResponse(cfg);
ConfigurationResponse actualResponse = (ConfigurationResponse) updateCfgCmd.getResponseObject();
@@
Original Test Code (click to expand)
@Override
@Before
public void setUp() {
responseGenerator = Mockito.mock(ResponseGenerator.class);
configService = Mockito.mock(ConfigurationService.class);
updateCfgCmd = new UpdateCfgCmd();
}
@Test
public void testCreateSuccess() {
Configuration cfg = Mockito.mock(Configuration.class);
updateCfgCmd._configService = configService;
updateCfgCmd._responseGenerator = responseGenerator;
updateCfgCmd.setCfgName("some.cfg");
try {
Mockito.when(configService.updateConfiguration(updateCfgCmd)).thenReturn(cfg);
} catch (Exception e) {
Assert.fail("Received exception when success expected " + e.getMessage());
}
ConfigurationResponse response = new ConfigurationResponse();
response.setName("Test case");
Mockito.when(responseGenerator.createConfigurationResponse(cfg)).thenReturn(response);
updateCfgCmd.execute();
Mockito.verify(responseGenerator).createConfigurationResponse(cfg);
ConfigurationResponse actualResponse = (ConfigurationResponse) updateCfgCmd.getResponseObject();
Assert.assertEquals(response, actualResponse);
Assert.assertEquals("updateconfigurationresponse", response.getResponseName());
}
Reusable Method for MCI (click to expand)
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(Configuration cfg, ConfigurationResponse cfgResponse) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createConfigurationResponse(cfg)).thenReturn(cfgResponse);
return responseGenerator;
}
}
Mock Clone Instance #cloudstack_MCI_142
- Scope: class level
- Mocked Class:
org.apache.cloudstack.api.ResponseGenerator
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(ResponseView responseView, String objectName, UserVm userVm, List<UserVmResponse> userVmResponseList) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createUserVmResponse(responseView, objectName, userVm)).thenReturn(userVmResponseList);
return responseGenerator;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_142_1
Test Case Name: testCreateSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\ScaleVMCmdTest.java)
Mock Object Variable Name: responseGenerator
Suggested Diff
@@
try {
Mockito.when(userVmService.upgradeVirtualMachine(scaleVMCmd)).thenReturn(userVm);
} catch (Exception e) {
Assert.fail("Received exception when success expected " + e.getMessage());
}
- ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
+ ResponseGenerator responseGenerator = MockResponseGenerator.createMockResponseGenerator(ResponseView.Restricted, "virtualmachine", userVm, list);
scaleVMCmd._responseGenerator = responseGenerator;
UserVmResponse userVmResponse = Mockito.mock(UserVmResponse.class);
//List<UserVmResponse> list = Mockito.mock(UserVmResponse.class);
//list.add(userVmResponse);
//LinkedList<UserVmResponse> mockedList = Mockito.mock(LinkedList.class);
//Mockito.when(mockedList.get(0)).thenReturn(userVmResponse);
List<UserVmResponse> list = new LinkedList<UserVmResponse>();
list.add(userVmResponse);
- Mockito.when(responseGenerator.createUserVmResponse(ResponseView.Restricted, "virtualmachine", userVm)).thenReturn(list);
scaleVMCmd._userVmService = userVmService;
scaleVMCmd.execute();
}
Original Test Code (click to expand)
@Test
public void testCreateSuccess() {
UserVmService userVmService = Mockito.mock(UserVmService.class);
UserVm userVm = Mockito.mock(UserVm.class);
try {
Mockito.when(userVmService.upgradeVirtualMachine(scaleVMCmd)).thenReturn(userVm);
} catch (Exception e) {
Assert.fail("Received exception when success expected " + e.getMessage());
}
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
scaleVMCmd._responseGenerator = responseGenerator;
UserVmResponse userVmResponse = Mockito.mock(UserVmResponse.class);
List<UserVmResponse> list = new LinkedList<UserVmResponse>();
list.add(userVmResponse);
Mockito.when(responseGenerator.createUserVmResponse(ResponseView.Restricted, "virtualmachine", userVm)).thenReturn(list);
scaleVMCmd._userVmService = userVmService;
scaleVMCmd.execute();
}
Reusable Method for MCI (click to expand)
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(ResponseView responseView, String objectName, UserVm userVm, List<UserVmResponse> userVmResponseList) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createUserVmResponse(responseView, objectName, userVm)).thenReturn(userVmResponseList);
return responseGenerator;
}
}
Test Case ID #cloudstack_Test_142_2
Test Case Name: testSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\UpdateVmNicIpTest.java)
Mock Object Variable Name: responseGenerator
Suggested Diff
@@
Mockito.when(userVmService.updateNicIpForVirtualMachine(Mockito.any(UpdateVmNicIpCmd.class))).thenReturn(userVm);
updateVmNicIpCmd._userVmService = userVmService;
- responseGenerator = Mockito.mock(ResponseGenerator.class);
List<UserVmResponse> list = new LinkedList<UserVmResponse>();
UserVmResponse userVmResponse = Mockito.mock(UserVmResponse.class);
list.add(userVmResponse);
- Mockito.when(responseGenerator.createUserVmResponse(ResponseView.Restricted, "virtualmachine", userVm)).thenReturn(list);
+ responseGenerator = MockResponseGenerator.createMockResponseGenerator(ResponseView.Restricted, "virtualmachine", userVm, list);
updateVmNicIpCmd._responseGenerator = responseGenerator;
updateVmNicIpCmd.execute();
@@
Original Test Code (click to expand)
@Test
public void testSuccess() throws ResourceAllocationException, ResourceUnavailableException, ConcurrentOperationException, InsufficientCapacityException {
UserVmService userVmService = Mockito.mock(UserVmService.class);
updateVmNicIpCmd = Mockito.mock(UpdateVmNicIpCmd.class);
UserVm userVm = Mockito.mock(UserVm.class);
Mockito.when(userVmService.updateNicIpForVirtualMachine(Mockito.any(UpdateVmNicIpCmd.class))).thenReturn(userVm);
updateVmNicIpCmd._userVmService = userVmService;
responseGenerator = Mockito.mock(ResponseGenerator.class);
List<UserVmResponse> list = new LinkedList<UserVmResponse>();
UserVmResponse userVmResponse = Mockito.mock(UserVmResponse.class);
list.add(userVmResponse);
Mockito.when(responseGenerator.createUserVmResponse(ResponseView.Restricted, "virtualmachine", userVm)).thenReturn(list);
updateVmNicIpCmd._responseGenerator = responseGenerator;
updateVmNicIpCmd.execute();
}
Reusable Method for MCI (click to expand)
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(ResponseView responseView, String objectName, UserVm userVm, List<UserVmResponse> userVmResponseList) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createUserVmResponse(responseView, objectName, userVm)).thenReturn(userVmResponseList);
return responseGenerator;
}
}
Mock Clone Instance #cloudstack_MCI_143
- Scope: class level
- Mocked Class:
org.apache.cloudstack.api.ResponseGenerator
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(ResponseObject.ResponseView responseView, Network network, NetworkResponse networkResponse) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createNetworkResponse(responseView, network)).thenReturn(networkResponse);
return responseGenerator;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_143_1
Test Case Name: testExecute(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\network\CreateNetworkCmdTest.java)
Mock Object Variable Name: responseGenerator
Suggested Diff
@@
Network createdNetwork = Mockito.mock(Network.class);
NetworkResponse response = Mockito.mock(NetworkResponse.class);
- responseGenerator = Mockito.mock(ResponseGenerator.class);
- Mockito.when(responseGenerator.createNetworkResponse(ResponseObject.ResponseView.Restricted, createdNetwork)).thenReturn(response);
+ responseGenerator = MockResponseGenerator.createMockResponseGenerator(ResponseObject.ResponseView.Restricted, createdNetwork, response);
cmd._responseGenerator = responseGenerator;
try {
cmd.execute();
Mockito.verify(networkService, Mockito.times(1)).createGuestNetwork(cmd);
} catch (Exception e) {
System.out.println(e);
Assert.fail("Should successfully create the network");
}
}
Original Test Code (click to expand)
public void testExecute() throws InsufficientCapacityException, ResourceAllocationException {
ReflectionTestUtils.setField(cmd, "displayText", "testNetwork");
ReflectionTestUtils.setField(cmd, "name", "testNetwork");
ReflectionTestUtils.setField(cmd, "networkOfferingId", 1L);
ReflectionTestUtils.setField(cmd, "zoneId", 1L);
Network createdNetwork = Mockito.mock(Network.class);
NetworkResponse response = Mockito.mock(NetworkResponse.class);
responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(networkService.createGuestNetwork(cmd)).thenReturn(createdNetwork);
Mockito.when(responseGenerator.createNetworkResponse(ResponseObject.ResponseView.Restricted, createdNetwork)).thenReturn(response);
cmd._responseGenerator = responseGenerator;
try {
cmd.execute();
Mockito.verify(networkService, Mockito.times(1)).createGuestNetwork(cmd);
} catch (Exception e) {
System.out.println(e);
Assert.fail("Should successfully create the network");
}
}
Reusable Method for MCI (click to expand)
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(ResponseObject.ResponseView responseView, Network network, NetworkResponse networkResponse) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createNetworkResponse(responseView, network)).thenReturn(networkResponse);
return responseGenerator;
}
}
Test Case ID #cloudstack_Test_143_2
Test Case Name: testExecute(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\network\UpdateNetworkCmdTest.java)
Mock Object Variable Name: responseGenerator
Suggested Diff
@@
Network network = Mockito.mock(Network.class);
- responseGenerator = Mockito.mock(ResponseGenerator.class);
NetworkResponse response = Mockito.mock(NetworkResponse.class);
response.setPublicMtu(publicmtu);
Mockito.when(networkService.getNetwork(networkId)).thenReturn(network);
Mockito.when(networkService.updateGuestNetwork(cmd)).thenReturn(network);
- cmd._responseGenerator = responseGenerator;
- Mockito.when(responseGenerator.createNetworkResponse(ResponseObject.ResponseView.Restricted, network)).thenReturn(response);
+ responseGenerator = MockResponseGenerator.createMockResponseGenerator(ResponseObject.ResponseView.Restricted, network, response);
+ cmd._responseGenerator = responseGenerator;
cmd.execute();
Mockito.verify(responseGenerator).createNetworkResponse(Mockito.any(ResponseObject.ResponseView.class), Mockito.any(Network.class));
NetworkResponse actualResponse = (NetworkResponse) cmd.getResponseObject();
Assert.assertEquals(response, actualResponse);
@@
Original Test Code (click to expand)
public void testExecute() throws InsufficientCapacityException {
long networkId = 1L;
Integer publicmtu = 1200;
ReflectionTestUtils.setField(cmd, "id", networkId);
ReflectionTestUtils.setField(cmd, "publicMtu", publicmtu);
Network network = Mockito.mock(Network.class);
responseGenerator = Mockito.mock(ResponseGenerator.class);
NetworkResponse response = Mockito.mock(NetworkResponse.class);
response.setPublicMtu(publicmtu);
Mockito.when(networkService.getNetwork(networkId)).thenReturn(network);
Mockito.when(networkService.updateGuestNetwork(cmd)).thenReturn(network);
cmd._responseGenerator = responseGenerator;
Mockito.when(responseGenerator.createNetworkResponse(ResponseObject.ResponseView.Restricted, network)).thenReturn(response);
cmd.execute();
Mockito.verify(responseGenerator).createNetworkResponse(Mockito.any(ResponseObject.ResponseView.class), Mockito.any(Network.class));
NetworkResponse actualResponse = (NetworkResponse) cmd.getResponseObject();
Assert.assertEquals(response, actualResponse);
}
Reusable Method for MCI (click to expand)
public class MockResponseGenerator {
public static ResponseGenerator createMockResponseGenerator(ResponseObject.ResponseView responseView, Network network, NetworkResponse networkResponse) {
ResponseGenerator responseGenerator = Mockito.mock(ResponseGenerator.class);
Mockito.when(responseGenerator.createNetworkResponse(responseView, network)).thenReturn(networkResponse);
return responseGenerator;
}
}
Mock Clone Instance #cloudstack_MCI_144
- Scope: method level
- Mocked Class:
com.cloud.deploy.DeploymentPlan
- Test Case Count: 4
- MO Count: 4
Reusable Method
private DeploymentPlan plan;
@BeforeEach
public void setUp() {
plan = mock(DeploymentPlan.class);
}
plan;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_144_1
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
- final DeploymentPlan plan = mock(DeploymentPlan.class);
+ // removed local mock; replaced with global field `plan`
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Lswitch);
Original Test Code (click to expand)
@Test
public void testDesign() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Lswitch);
}
Reusable Method for MCI (click to expand)
private DeploymentPlan plan;
@BeforeEach
public void setUp() {
plan = mock(DeploymentPlan.class);
}
plan;
Test Case ID #cloudstack_Test_144_2
Test Case Name: testDesignNoElementOnPhysicalNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
- final DeploymentPlan plan = mock(DeploymentPlan.class);
+ // removed local mock; replaced with global field `plan`
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoElementOnPhysicalNetwork() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections.<NiciraNvpDeviceVO>emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private DeploymentPlan plan;
@BeforeEach
public void setUp() {
plan = mock(DeploymentPlan.class);
}
plan;
Test Case ID #cloudstack_Test_144_3
Test Case Name: testDesignNoIsolationMethodSTT(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
- final DeploymentPlan plan = mock(DeploymentPlan.class);
+ // removed local mock; replaced with global field `plan`
final Network network = mock(Network.class);
final Account account = mock(Account.class);
@@
- final Network designednetwork = guru.design(offering, plan, network, account);
+ final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoIsolationMethodSTT() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections.<NiciraNvpDeviceVO>emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private DeploymentPlan plan;
@BeforeEach
public void setUp() {
plan = mock(DeploymentPlan.class);
}
plan;
Test Case ID #cloudstack_Test_144_4
Test Case Name: testDesignNoConnectivityInOffering(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- final DeploymentPlan plan = mock(DeploymentPlan.class);
+ // removed local mock; replaced with global field `plan`
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoConnectivityInOffering() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private DeploymentPlan plan;
@BeforeEach
public void setUp() {
plan = mock(DeploymentPlan.class);
}
plan;
Mock Clone Instance #cloudstack_MCI_145
- Scope: method level
- Mocked Class:
com.cloud.deploy.DeploymentPlan
- Test Case Count: 3
- MO Count: 3
Reusable Method
private DeploymentPlan plan;
@BeforeEach
public void setUp() {
plan = mock(DeploymentPlan.class);
}
plan;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_145_1
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
- final DeploymentPlan plan = mock(DeploymentPlan.class);
+ // removed local mock; replaced with global field `plan`
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
Original Test Code (click to expand)
@Test
public void testDesign() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Vcs);
}
Reusable Method for MCI (click to expand)
private DeploymentPlan plan;
@BeforeEach
public void setUp() {
plan = mock(DeploymentPlan.class);
}
plan;
Test Case ID #cloudstack_Test_145_2
Test Case Name: testDesignNoIsolationMethodVCS(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
- final DeploymentPlan plan = mock(DeploymentPlan.class);
+ // removed local mock; replaced with global field `plan`
final Network network = mock(Network.class);
final Account account = mock(Account.class);
- final Network designednetwork = guru.design(offering, plan, network, account);
+ final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoIsolationMethodVCS() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private DeploymentPlan plan;
@BeforeEach
public void setUp() {
plan = mock(DeploymentPlan.class);
}
plan;
Test Case ID #cloudstack_Test_145_3
Test Case Name: testDesignNoConnectivityInOffering(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
- final DeploymentPlan plan = mock(DeploymentPlan.class);
+ // removed local mock; replaced with global field `plan`
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoConnectivityInOffering() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private DeploymentPlan plan;
@BeforeEach
public void setUp() {
plan = mock(DeploymentPlan.class);
}
plan;
Mock Clone Instance #cloudstack_MCI_146
- Scope: method level
- Mocked Class:
com.cloud.utils.nio.Link
- Test Case Count: 5
- MO Count: 5
Reusable Method
private Link link;
@BeforeEach
public void setUp() {
link = mock(Link.class);
}
link;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_146_1
Test Case Name: testEquals(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\agent\manager\ConnectedAgentAttacheTest.java)
Mock Object Variable Name: link
Suggested Diff
@@
@Test
public void testEquals() throws Exception {
- Link link = mock(Link.class);
+ // removed local mock; replaced with global field `link`
ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 0, null, link, false);
ConnectedAgentAttache agentAttache2 = new ConnectedAgentAttache(null, 0, null, link, false);
assertTrue(agentAttache1.equals(agentAttache2));
}
Original Test Code (click to expand)
@Test
public void testEquals() throws Exception {
Link link = mock(Link.class);
ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 0, null, link, false);
ConnectedAgentAttache agentAttache2 = new ConnectedAgentAttache(null, 0, null, link, false);
assertTrue(agentAttache1.equals(agentAttache2));
}
Reusable Method for MCI (click to expand)
private Link link;
@BeforeEach
public void setUp() {
link = mock(Link.class);
}
link;
Test Case ID #cloudstack_Test_146_2
Test Case Name: testEqualsFalseNull(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\agent\manager\ConnectedAgentAttacheTest.java)
Mock Object Variable Name: link
Suggested Diff
@@
@Test
public void testEqualsFalseNull() throws Exception {
- Link link = mock(Link.class);
+ // removed local mock; replaced with global field `link`
ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 0, null, link, false);
assertFalse(agentAttache1.equals(null));
}
Original Test Code (click to expand)
@Test
public void testEqualsFalseNull() throws Exception {
Link link = mock(Link.class);
ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 0, null, link, false);
assertFalse(agentAttache1.equals(null));
}
Reusable Method for MCI (click to expand)
private Link link;
@BeforeEach
public void setUp() {
link = mock(Link.class);
}
link;
Test Case ID #cloudstack_Test_146_3
Test Case Name: testEqualsFalseDiffLink(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\agent\manager\ConnectedAgentAttacheTest.java)
Mock Object Variable Name: link1
Suggested Diff
@@
@Test
public void testEqualsFalseDiffLink() throws Exception {
- Link link1 = mock(Link.class);
+ // removed local mock; replaced with global field `link`
Link link2 = mock(Link.class);
- ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 0, null, link1, false);
+ ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 0, null, link, false);
ConnectedAgentAttache agentAttache2 = new ConnectedAgentAttache(null, 0, null, link2, false);
assertFalse(agentAttache1.equals(agentAttache2));
}
Original Test Code (click to expand)
@Test
public void testEqualsFalseDiffLink() throws Exception {
Link link1 = mock(Link.class);
Link link2 = mock(Link.class);
ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 0, null, link1, false);
ConnectedAgentAttache agentAttache2 = new ConnectedAgentAttache(null, 0, null, link2, false);
assertFalse(agentAttache1.equals(agentAttache2));
}
Reusable Method for MCI (click to expand)
private Link link;
@BeforeEach
public void setUp() {
link = mock(Link.class);
}
link;
Test Case ID #cloudstack_Test_146_4
Test Case Name: testEqualsFalseDiffId(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\agent\manager\ConnectedAgentAttacheTest.java)
Mock Object Variable Name: link1
Suggested Diff
@@
@Test
public void testEqualsFalseDiffId() throws Exception {
- Link link1 = mock(Link.class);
+ // removed local mock; replaced with global field `link`
ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 1, null, link1, false);
ConnectedAgentAttache agentAttache2 = new ConnectedAgentAttache(null, 2, null, link1, false);
assertFalse(agentAttache1.equals(agentAttache2));
@@
- ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 1, null, link1, false);
+ ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 1, null, link, false);
- ConnectedAgentAttache agentAttache2 = new ConnectedAgentAttache(null, 2, null, link1, false);
+ ConnectedAgentAttache agentAttache2 = new ConnectedAgentAttache(null, 2, null, link, false);
Original Test Code (click to expand)
@Test
public void testEqualsFalseDiffId() throws Exception {
Link link1 = mock(Link.class);
ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 1, null, link1, false);
ConnectedAgentAttache agentAttache2 = new ConnectedAgentAttache(null, 2, null, link1, false);
assertFalse(agentAttache1.equals(agentAttache2));
}
Reusable Method for MCI (click to expand)
private Link link;
@BeforeEach
public void setUp() {
link = mock(Link.class);
}
link;
Test Case ID #cloudstack_Test_146_5
Test Case Name: testEqualsFalseDiffClass(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\agent\manager\ConnectedAgentAttacheTest.java)
Mock Object Variable Name: link1
Suggested Diff
@@
@Test
public void testEqualsFalseDiffClass() throws Exception {
- Link link1 = mock(Link.class);
+ // removed local mock; replaced with global field `link`
ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 1, null, link, false);
assertFalse(agentAttache1.equals("abc"));
}
Original Test Code (click to expand)
@Test
public void testEqualsFalseDiffClass() throws Exception {
Link link1 = mock(Link.class);
ConnectedAgentAttache agentAttache1 = new ConnectedAgentAttache(null, 1, null, link1, false);
assertFalse(agentAttache1.equals("abc"));
}
Reusable Method for MCI (click to expand)
private Link link;
@BeforeEach
public void setUp() {
link = mock(Link.class);
}
link;
Mock Clone Instance #cloudstack_MCI_147
- Scope: method level
- Mocked Class:
com.cloud.agent.api.Answer
- Test Case Count: 2
- MO Count: 5
Reusable Method
private static Answer createMockAnswer(boolean getResultReturn) {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(getResultReturn);
return answer;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_147_1
Test Case Name: testSendCommandsToRouter(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: answer1
Suggested Diff
@@
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
// In the second iteration it should match and return, without invoking the third
- Answer[] answers = { answer1, answer2, answer3 };
- when(answer1.getResult()).thenReturn(true);
+ answer1 = createMockAnswer(true);
when(answer2.getResult()).thenReturn(false);
lenient().when(answer3.getResult()).thenReturn(false);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouter() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(false);
lenient().when(answer3.getResult()).thenReturn(false);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(1)).getResult();
verify(answer2, times(1)).getResult();
verify(answer3, times(0)).getResult();
assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static Answer createMockAnswer(boolean getResultReturn) {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(getResultReturn);
return answer;
}
Test Case ID #cloudstack_Test_147_2
Test Case Name: testSendCommandsToRouter(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: answer2
Suggested Diff
@@
Answer answer1 = mock(Answer.class);
- Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
// In the second iteration it should match and return, without invoking the third
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
+ Answer answer2 = createMockAnswer(false);
when(answer2.getResult()).thenReturn(false);
lenient().when(answer3.getResult()).thenReturn(false);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouter() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(false);
lenient().when(answer3.getResult()).thenReturn(false);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(1)).getResult();
verify(answer2, times(1)).getResult();
verify(answer3, times(0)).getResult();
assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static Answer createMockAnswer(boolean getResultReturn) {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(getResultReturn);
return answer;
}
Test Case ID #cloudstack_Test_147_3
Test Case Name: testSendCommandsToRouterWithTrueResult(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: answer1
Suggested Diff
@@
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
// In the second iteration it should match and return, without invoking the third
- Answer answer1 = mock(Answer.class);
- when(answer1.getResult()).thenReturn(true);
+ Answer answer1 = createMockAnswer(true);
when(answer2.getResult()).thenReturn(true);
when(answer3.getResult()).thenReturn(true);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouterWithTrueResult() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(true);
when(answer3.getResult()).thenReturn(true);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(1)).getResult();
verify(answer2, times(1)).getResult();
verify(answer3, times(1)).getResult();
assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static Answer createMockAnswer(boolean getResultReturn) {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(getResultReturn);
return answer;
}
Test Case ID #cloudstack_Test_147_4
Test Case Name: testSendCommandsToRouterWithTrueResult(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: answer2
Suggested Diff
@@
Answer answer1 = mock(Answer.class);
- Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
// In the second iteration it should match and return, without invoking the third
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
- when(answer2.getResult()).thenReturn(true);
when(answer3.getResult()).thenReturn(true);
+ Answer answer2 = createMockAnswer(true);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
// Execute
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouterWithTrueResult() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(true);
when(answer3.getResult()).thenReturn(true);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(1)).getResult();
verify(answer2, times(1)).getResult();
verify(answer3, times(1)).getResult();
assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static Answer createMockAnswer(boolean getResultReturn) {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(getResultReturn);
return answer;
}
Test Case ID #cloudstack_Test_147_5
Test Case Name: testSendCommandsToRouterWithTrueResult(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: answer3
Suggested Diff
@@
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
- Answer answer3 = mock(Answer.class);
// In the second iteration it should match and return, without invoking the third
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(true);
- when(answer3.getResult()).thenReturn(true);
+ Answer answer3 = createMockAnswer(true);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouterWithTrueResult() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(true);
when(answer3.getResult()).thenReturn(true);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(1)).getResult();
verify(answer2, times(1)).getResult();
verify(answer3, times(1)).getResult();
assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static Answer createMockAnswer(boolean getResultReturn) {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(getResultReturn);
return answer;
}
Mock Clone Instance #cloudstack_MCI_148
- Scope: class level
- Mocked Class:
com.cloud.agent.api.Answer
- Test Case Count: 6
- MO Count: 6
Reusable Method
public class MockAnswer {
public static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_148_1
Test Case Name: implementTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: answer
Suggested Diff
@@
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanGateway()).thenReturn("1.1.1.1");
List<VlanVO> vlanVOList = new ArrayList<VlanVO>();
when(_vlanDao.listVlansByPhysicalNetworkId(network.getPhysicalNetworkId())).thenReturn(vlanVOList);
- Answer answer = mock(Answer.class);
- when(answer.getResult()).thenReturn(true);
+ Answer answer = MockAnswer.createMockAnswer();
when(_agentMgr.easySend(anyLong(), any(CreateLogicalEdgeFirewallCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(ConfigureNexusVsmForAsaCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(SetSourceNatCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(AssociateAsaWithLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.implement(network, offering, dest, context));
@@
Original Test Code (click to expand)
@Test
public void implementTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getGateway()).thenReturn("1.1.1.1");
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(1L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
DeployDestination dest = mock(DeployDestination.class);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("d1");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("a1");
ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
DataCenter dc = mock(DataCenter.class);
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_entityMgr.findById(DataCenter.class, network.getDataCenterId())).thenReturn(dc);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
CiscoAsa1000vDeviceVO asaVO = mock(CiscoAsa1000vDeviceVO.class);
when(asaVO.getInPortProfile()).thenReturn("foo");
when(asaVO.getManagementIp()).thenReturn("1.2.3.4");
List<CiscoAsa1000vDeviceVO> asaList = new ArrayList<CiscoAsa1000vDeviceVO>();
asaList.add(asaVO);
when(_ciscoAsa1000vDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(asaList);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkAsa1000vMapDao.findByAsa1000vId(anyLong())).thenReturn(null);
when(_networkAsa1000vMapDao.persist(any(NetworkAsa1000vMapVO.class))).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, Provider.CiscoVnmc)).thenReturn(true);
ClusterVSMMapVO clusterVsmMap = mock(ClusterVSMMapVO.class);
when(_clusterVsmMapDao.findByClusterId(anyLong())).thenReturn(clusterVsmMap);
CiscoNexusVSMDeviceVO vsmDevice = mock(CiscoNexusVSMDeviceVO.class);
when(vsmDevice.getUserName()).thenReturn("foo");
when(vsmDevice.getPassword()).thenReturn("bar");
when(vsmDevice.getipaddr()).thenReturn("1.2.3.4");
when(_vsmDeviceDao.findById(anyLong())).thenReturn(vsmDevice);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
PublicIp publicIp = mock(PublicIp.class);
when(publicIp.getAddress()).thenReturn(ip);
when(publicIp.getState()).thenReturn(IpAddress.State.Releasing);
when(publicIp.getAccountId()).thenReturn(1L);
when(publicIp.isSourceNat()).thenReturn(true);
when(publicIp.getVlanTag()).thenReturn("123");
when(publicIp.getGateway()).thenReturn("1.1.1.1");
when(publicIp.getNetmask()).thenReturn("1.1.1.1");
when(publicIp.getMacAddress()).thenReturn(null);
when(publicIp.isOneToOneNat()).thenReturn(true);
when(_ipAddrMgr.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(publicIp);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanGateway()).thenReturn("1.1.1.1");
List<VlanVO> vlanVOList = new ArrayList<VlanVO>();
when(_vlanDao.listVlansByPhysicalNetworkId(network.getPhysicalNetworkId())).thenReturn(vlanVOList);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CreateLogicalEdgeFirewallCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(ConfigureNexusVsmForAsaCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(SetSourceNatCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(AssociateAsaWithLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockAnswer {
public static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
}
Test Case ID #cloudstack_Test_148_2
Test Case Name: shutdownTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: answer
Suggested Diff
@@
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
- Answer answer = mock(Answer.class);
- when(answer.getResult()).thenReturn(true);
+ Answer answer = MockAnswer.createMockAnswer();
when(_agentMgr.easySend(anyLong(), any(CleanupLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.shutdown(network, context, true));
@@
Original Test Code (click to expand)
@Test
public void shutdownTest() throws ConcurrentOperationException, ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
ReservationContext context = mock(ReservationContext.class);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CleanupLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.shutdown(network, context, true));
}
Reusable Method for MCI (click to expand)
public class MockAnswer {
public static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
}
Test Case ID #cloudstack_Test_148_3
Test Case Name: applyFWRulesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: answer
Suggested Diff
@@
rules.add(rule);
- Answer answer = mock(Answer.class);
- when(answer.getResult()).thenReturn(true);
+ Answer answer = MockAnswer.createMockAnswer();
when(_agentMgr.easySend(anyLong(), any(SetFirewallRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyFWRules(network, rules));
}
Original Test Code (click to expand)
@Test
public void applyFWRulesTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.Firewall, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
FirewallRule rule = mock(FirewallRule.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
List<FirewallRule> rules = new ArrayList<FirewallRule>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetFirewallRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyFWRules(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockAnswer {
public static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
}
Test Case ID #cloudstack_Test_148_4
Test Case Name: applyPRulesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: answer
Suggested Diff
@@
rules.add(rule);
- Answer answer = mock(Answer.class);
- when(answer.getResult()).thenReturn(true);
+ Answer answer = MockAnswer.createMockAnswer();
when(_agentMgr.easySend(anyLong(), any(SetPortForwardingRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyPFRules(network, rules));
}
Original Test Code (click to expand)
@Test
public void applyPRulesTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.PortForwarding, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
PortForwardingRule rule = mock(PortForwardingRule.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestinationIpAddress()).thenReturn(ip);
List<PortForwardingRule> rules = new ArrayList<PortForwardingRule>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetPortForwardingRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyPFRules(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockAnswer {
public static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
}
Test Case ID #cloudstack_Test_148_5
Test Case Name: applyStaticNatsTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: answer
Suggested Diff
@@
rules.add(rule);
- Answer answer = mock(Answer.class);
- when(answer.getResult()).thenReturn(true);
+ Answer answer = MockAnswer.createMockAnswer();
when(_agentMgr.easySend(anyLong(), any(SetStaticNatRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyStaticNats(network, rules));
}
Original Test Code (click to expand)
@Test
public void applyStaticNatsTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.StaticNat, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
StaticNat rule = mock(StaticNat.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestIpAddress()).thenReturn("1.2.3.4");
when(rule.isForRevoke()).thenReturn(false);
List<StaticNat> rules = new ArrayList<StaticNat>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetStaticNatRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyStaticNats(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockAnswer {
public static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
}
Test Case ID #cloudstack_Test_148_6
Test Case Name: testRelease(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\element\ConfigDriveNetworkElementTest.java)
Mock Object Variable Name: answer
Suggested Diff
@@
@Test
public void testRelease() {
- final Answer answer = mock(Answer.class);
- when(agentManager.easySend(anyLong(), any(HandleConfigDriveIsoCommand.class))).thenReturn(answer);
- when(answer.getResult()).thenReturn(true);
+ final Answer answer = MockAnswer.createMockAnswer();
+ when(agentManager.easySend(anyLong(), any(HandleConfigDriveIsoCommand.class))).thenReturn(answer);
VirtualMachineProfile profile = new VirtualMachineProfileImpl(virtualMachine, null, serviceOfferingVO, null, null);
assertTrue(_configDrivesNetworkElement.release(network, nicp, profile, null));
}
@@
Original Test Code (click to expand)
@Test
public void testRelease() {
final Answer answer = mock(Answer.class);
when(agentManager.easySend(anyLong(), any(HandleConfigDriveIsoCommand.class))).thenReturn(answer);
when(answer.getResult()).thenReturn(true);
VirtualMachineProfile profile = new VirtualMachineProfileImpl(virtualMachine, null, serviceOfferingVO, null, null);
assertTrue(_configDrivesNetworkElement.release(network, nicp, profile, null));
}
Reusable Method for MCI (click to expand)
public class MockAnswer {
public static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
}
Mock Clone Instance #cloudstack_MCI_149
- Scope: method level
- Mocked Class:
com.cloud.agent.api.Answer
- Test Case Count: 2
- MO Count: 3
Reusable Method
private static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_149_1
Test Case Name: updateLoadBalancerTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: updateTungstenLoadbalancerStatsAnswer
Suggested Diff
@@
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
- Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
+ Answer updateTungstenLoadbalancerStatsAnswer = createMockAnswer();
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
- when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
@@
Original Test Code (click to expand)
@Test
public void updateLoadBalancerTest() {
Network network = mock(Network.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
Network publicNetwork = mock(Network.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
}
Reusable Method for MCI (click to expand)
private static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
Test Case ID #cloudstack_Test_149_2
Test Case Name: updateLoadBalancerTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Suggested Diff
@@
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
- Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
+ Answer updateTungstenLoadbalancerSslAnswer = createMockAnswer();
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
- when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
@@
Original Test Code (click to expand)
@Test
public void updateLoadBalancerTest() {
Network network = mock(Network.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
Network publicNetwork = mock(Network.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
}
Reusable Method for MCI (click to expand)
private static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
Test Case ID #cloudstack_Test_149_3
Test Case Name: createSharedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: answer
Suggested Diff
@@
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
HostVO hostVO = mock(HostVO.class);
- Answer answer = mock(Answer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
ApiObjectBase apiObjectBase = mock(ApiObjectBase.class);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createTungstenSharedNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(createTungstenSharedNetworkAnswer.getResult()).thenReturn(true);
when(addNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getCidr()).thenReturn("192.168.100.0/24");
when(vlan.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
when(vlan.getVlanGateway()).thenReturn("192.168.100.1");
when(vlan.getIp6Gateway()).thenReturn("fd00::1");
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(hostDao.findByPublicIp(anyString())).thenReturn(hostVO);
+ Answer answer = createMockAnswer();
when(agentMgr.easySend(anyLong(), any(SetupTungstenVRouterCommand.class))).thenReturn(answer);
- when(answer.getResult()).thenReturn(true);
when(vlan.getIp6Cidr()).thenReturn("fd00::1/64");
when(vlan.getIp6Range()).thenReturn("fd00::100-fd00::200");
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.1.150");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
when(createTungstenSharedNetworkAnswer.getApiObjectBase()).thenReturn(apiObjectBase);
when(apiObjectBase.getQualifiedName()).thenReturn(List.of("network"));
when(tungstenProviderVO.getGateway()).thenReturn("192.168.100.1");
assertTrue(tungstenService.createSharedNetwork(network, vlan));
@@
Original Test Code (click to expand)
@Test
public void createSharedNetworkTest() {
Network network = mock(Network.class);
Vlan vlan = mock(Vlan.class);
AccountVO accountVO = mock(AccountVO.class);
TungstenAnswer createTungstenSharedNetworkAnswer = mock(TungstenAnswer.class);
TungstenAnswer addNetworkSubnetAnswer = mock(TungstenAnswer.class);
TungstenAnswer getTungstenNetworkDnsAnswer = mock(TungstenAnswer.class);
NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
HostVO hostVO = mock(HostVO.class);
Answer answer = mock(Answer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
ApiObjectBase apiObjectBase = mock(ApiObjectBase.class);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(createTungstenSharedNetworkAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class), anyLong())).thenReturn(addNetworkSubnetAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class), anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
when(createTungstenSharedNetworkAnswer.getResult()).thenReturn(true);
when(addNetworkSubnetAnswer.getResult()).thenReturn(true);
when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getCidr()).thenReturn("192.168.100.0/24");
when(vlan.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
when(vlan.getVlanGateway()).thenReturn("192.168.100.1");
when(vlan.getIp6Gateway()).thenReturn("fd00::1");
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(hostDao.findByPublicIp(anyString())).thenReturn(hostVO);
when(agentMgr.easySend(anyLong(), any(SetupTungstenVRouterCommand.class))).thenReturn(answer);
when(answer.getResult()).thenReturn(true);
when(vlan.getIp6Cidr()).thenReturn("fd00::1/64");
when(vlan.getIp6Range()).thenReturn("fd00::100-fd00::200");
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.1.150");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
when(createTungstenSharedNetworkAnswer.getApiObjectBase()).thenReturn(apiObjectBase);
when(apiObjectBase.getQualifiedName()).thenReturn(List.of("network"));
when(tungstenProviderVO.getGateway()).thenReturn("192.168.100.1");
assertTrue(tungstenService.createSharedNetwork(network, vlan));
}
Reusable Method for MCI (click to expand)
private static Answer createMockAnswer() {
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
return answer;
}
Mock Clone Instance #cloudstack_MCI_150
- Scope: class level
- Mocked Class:
com.cloud.utils.net.Ip
- Test Case Count: 5
- MO Count: 5
Reusable Method
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_150_1
Test Case Name: implementTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: ip
Suggested Diff
@@
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
- Ip ip = mock(Ip.class);
- when(ip.addr()).thenReturn("1.2.3.4");
+ Ip ip = MockIp.createMockIp("1.2.3.4");
PublicIp publicIp = mock(PublicIp.class);
when(publicIp.getAddress()).thenReturn(ip);
when(publicIp.getState()).thenReturn(IpAddress.State.Releasing);
@@
Original Test Code (click to expand)
@Test
public void implementTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getGateway()).thenReturn("1.1.1.1");
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(1L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
DeployDestination dest = mock(DeployDestination.class);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("d1");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("a1");
ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
DataCenter dc = mock(DataCenter.class);
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_entityMgr.findById(DataCenter.class, network.getDataCenterId())).thenReturn(dc);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
CiscoAsa1000vDeviceVO asaVO = mock(CiscoAsa1000vDeviceVO.class);
when(asaVO.getInPortProfile()).thenReturn("foo");
when(asaVO.getManagementIp()).thenReturn("1.2.3.4");
List<CiscoAsa1000vDeviceVO> asaList = new ArrayList<CiscoAsa1000vDeviceVO>();
asaList.add(asaVO);
when(_ciscoAsa1000vDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(asaList);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkAsa1000vMapDao.findByAsa1000vId(anyLong())).thenReturn(null);
when(_networkAsa1000vMapDao.persist(any(NetworkAsa1000vMapVO.class))).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, Provider.CiscoVnmc)).thenReturn(true);
ClusterVSMMapVO clusterVsmMap = mock(ClusterVSMMapVO.class);
when(_clusterVsmMapDao.findByClusterId(anyLong())).thenReturn(clusterVsmMap);
CiscoNexusVSMDeviceVO vsmDevice = mock(CiscoNexusVSMDeviceVO.class);
when(vsmDevice.getUserName()).thenReturn("foo");
when(vsmDevice.getPassword()).thenReturn("bar");
when(vsmDevice.getipaddr()).thenReturn("1.2.3.4");
when(_vsmDeviceDao.findById(anyLong())).thenReturn(vsmDevice);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
PublicIp publicIp = mock(PublicIp.class);
when(publicIp.getAddress()).thenReturn(ip);
when(publicIp.getState()).thenReturn(IpAddress.State.Releasing);
when(publicIp.getAccountId()).thenReturn(1L);
when(publicIp.isSourceNat()).thenReturn(true);
when(publicIp.getVlanTag()).thenReturn("123");
when(publicIp.getGateway()).thenReturn("1.1.1.1");
when(publicIp.getNetmask()).thenReturn("1.1.1.1");
when(publicIp.getMacAddress()).thenReturn(null);
when(publicIp.isOneToOneNat()).thenReturn(true);
when(_ipAddrMgr.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(publicIp);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanGateway()).thenReturn("1.1.1.1");
List<VlanVO> vlanVOList = new ArrayList<VlanVO>();
when(_vlanDao.listVlansByPhysicalNetworkId(network.getPhysicalNetworkId())).thenReturn(vlanVOList);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CreateLogicalEdgeFirewallCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(ConfigureNexusVsmForAsaCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(SetSourceNatCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(AssociateAsaWithLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
Test Case ID #cloudstack_Test_150_2
Test Case Name: applyFWRulesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: ip
Suggested Diff
@@
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
- Ip ip = mock(Ip.class);
- when(ip.addr()).thenReturn("1.2.3.4");
+ Ip ip = MockIp.createMockIp("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
@@
Original Test Code (click to expand)
@Test
public void applyFWRulesTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.Firewall, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
FirewallRule rule = mock(FirewallRule.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
List<FirewallRule> rules = new ArrayList<FirewallRule>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetFirewallRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyFWRules(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
Test Case ID #cloudstack_Test_150_3
Test Case Name: applyPRulesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: ip
Suggested Diff
@@
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
- Ip ip = mock(Ip.class);
- when(ip.addr()).thenReturn("1.2.3.4");
+ Ip ip = MockIp.createMockIp("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
@@
Original Test Code (click to expand)
@Test
public void applyPRulesTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.PortForwarding, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
PortForwardingRule rule = mock(PortForwardingRule.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestinationIpAddress()).thenReturn(ip);
List<PortForwardingRule> rules = new ArrayList<PortForwardingRule>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetPortForwardingRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyPFRules(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
Test Case ID #cloudstack_Test_150_4
Test Case Name: applyStaticNatsTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: ip
Suggested Diff
@@
when(network.getState()).thenReturn(Network.State.Implemented);
- Ip ip = mock(Ip.class);
- when(ip.addr()).thenReturn("1.2.3.4");
+ Ip ip = MockIp.createMockIp("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
@@
Original Test Code (click to expand)
@Test
public void applyStaticNatsTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.StaticNat, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
StaticNat rule = mock(StaticNat.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestIpAddress()).thenReturn("1.2.3.4");
when(rule.isForRevoke()).thenReturn(false);
List<StaticNat> rules = new ArrayList<StaticNat>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetStaticNatRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyStaticNats(network, rules));
}
Reusable Method for MCI (click to expand)
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
Test Case ID #cloudstack_Test_150_5
Test Case Name: implementIsolatedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: ip
Suggested Diff
@@
PublicIp sourceNatIp = mock(PublicIp.class);
- Ip ip = mock(Ip.class);
- when(ip.addr()).thenReturn("10.0.0.0");
+ Ip ip = MockIp.createMockIp("10.0.0.0");
when(sourceNatIp.getAddress()).thenReturn(ip);
when(sourceNatIp.getVlanNetmask()).thenReturn("255.255.255.0");
@@
Original Test Code (click to expand)
@Test
public void implementIsolatedNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException, URISyntaxException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Isolated);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("10.0.0.0");
when(sourceNatIp.getAddress()).thenReturn(ip);
when(sourceNatIp.getVlanNetmask()).thenReturn("255.255.255.0");
when(sourceNatIp.getVlanTag()).thenReturn("111");
when(ipAddressManager.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(sourceNatIp);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
final CreateLogicalRouterAnswer answer = mock(CreateLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
Mock Clone Instance #cloudstack_MCI_151
- Scope: class level
- Mocked Class:
com.cloud.utils.net.Ip
- Test Case Count: 5
- MO Count: 5
Reusable Method
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_151_1
Test Case Name: applyLBRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: ip
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
- Ip ip = mock(Ip.class);
+ Ip ip = MockIp.createMockIp("10.10.10.10");
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
@@
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
- when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
- when(ip.addr()).thenReturn("10.10.10.10");
+ when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleSuccessTest() {
User caller = mock(User.class);
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
Test Case ID #cloudstack_Test_151_2
Test Case Name: applyLBRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: ip
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
- Ip ip = mock(Ip.class);
+ Ip ip = MockIp.createMockIp("10.10.10.10");
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(80);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
- when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
- when(ip.addr()).thenReturn("10.10.10.10");
+ when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(80);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
Test Case ID #cloudstack_Test_151_3
Test Case Name: applyLBRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: ip1
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
- Ip ip1 = mock(Ip.class);
+ Ip ip1 = MockIp.createMockIp("10.10.10.10");
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
- when(ipAddressVO.getAddress()).thenReturn(ip1);
- when(ip1.addr()).thenReturn("10.10.10.10");
+ when(ipAddressVO.getAddress()).thenReturn(ip1);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip1 = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip1);
when(ip1.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
Test Case ID #cloudstack_Test_151_4
Test Case Name: applyLBRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: ip
Suggested Diff
@@
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
- Ip ip = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
List<LoadBalancingRule> loadBalancingRuleList = List.of(loadBalancingRule);
List<LoadBalancerVO> loadBalancerVOList = Arrays.asList(loadBalancerVO1, loadBalancerVO2);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
+ Ip ip = MockIp.createMockIp("10.10.10.10");
when(ipAddressVO.getAddress()).thenReturn(ip);
- when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyLBRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenLoadBalancerCommand = mock(TungstenAnswer.class);
List<LoadBalancingRule> loadBalancingRuleList = List.of(loadBalancingRule);
List<LoadBalancerVO> loadBalancerVOList = Arrays.asList(loadBalancerVO1, loadBalancerVO2);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(loadBalancingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class), anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList));
}
Reusable Method for MCI (click to expand)
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
Test Case ID #cloudstack_Test_151_5
Test Case Name: updateLoadBalancerTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: ip
Suggested Diff
@@
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
- Ip ip = mock(Ip.class);
+ Ip ip = MockIp.createMockIp("192.168.100.100");
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
- when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
}
Original Test Code (click to expand)
@Test
public void updateLoadBalancerTest() {
Network network = mock(Network.class);
LoadBalancingRule loadBalancingRule = mock(LoadBalancingRule.class);
Network publicNetwork = mock(Network.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer getTungstenLoadBalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateLoadBalancerServiceInstanceAnswer = mock(TungstenAnswer.class);
Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
LoadBalancerCertMapVO loadBalancerCertMapVO = mock(LoadBalancerCertMapVO.class);
SslCertVO sslCertVO = mock(SslCertVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
Ip ip = mock(Ip.class);
AccountVO accountVO = mock(AccountVO.class);
Loadbalancer loadbalancer = mock(Loadbalancer.class);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(hostDao.listAllHostsByZoneAndHypervisorType(anyLong(), eq(Hypervisor.HypervisorType.KVM))).thenReturn(List.of(hostVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenLoadBalancerCommand.class), anyLong())).thenReturn(getTungstenLoadBalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class), anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
when(agentMgr.easySend(anyLong(), any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(fwRulesDao.listByIpAndPurposeAndNotRevoked(anyLong(), eq(FirewallRule.Purpose.LoadBalancing))).thenReturn(List.of(firewallRuleVO));
when(lbCertMapDao.findByLbRuleId(anyLong())).thenReturn(loadBalancerCertMapVO);
when(entityMgr.findById(eq(SslCertVO.class), anyLong())).thenReturn(sslCertVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(loadBalancingRule.getSourceIp()).thenReturn(ip);
when(accountDao.findById(anyLong())).thenReturn(accountVO);
when(ip.addr()).thenReturn("192.168.100.100");
when(getTungstenLoadBalancerAnswer.getApiObjectBase()).thenReturn(loadbalancer);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
assertTrue(tungstenService.updateLoadBalancer(network, loadBalancingRule));
}
Reusable Method for MCI (click to expand)
public class MockIp {
public static Ip createMockIp(String addrReturn) {
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn(addrReturn);
return ip;
}
}
Mock Clone Instance #cloudstack_MCI_152
- Scope: class level
- Mocked Class:
com.cloud.network.NetworkProfile
- Test Case Count: 1
- MO Count: 2
Reusable Method
public class MockNetworkProfile {
public static NetworkProfile createMockNetworkProfile(long idReturn, java.net.URI broadcastUriReturn) {
NetworkProfile mockNetworkProfile = mock(NetworkProfile.class);
when(mockNetworkProfile.getId()).thenReturn(idReturn);
when(mockNetworkProfile.getBroadcastUri()).thenReturn(broadcastUriReturn);
return mockNetworkProfile;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_152_1
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: implementednetwork
Suggested Diff
@@
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
- final NetworkProfile implementednetwork = mock(NetworkProfile.class);
- when(implementednetwork.getId()).thenReturn(NETWORK_ID);
- when(implementednetwork.getBroadcastUri()).thenReturn(new URI("lswitch:aaaa"));
+ final NetworkProfile implementednetwork = MockNetworkProfile.createMockNetworkProfile(NETWORK_ID, new URI("lswitch:aaaa"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
verify(implementednetwork, times(1)).setBroadcastUri(null);
@@
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(netdao.findById(NETWORK_ID)).thenReturn(network);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final DeleteLogicalSwitchAnswer answer = mock(DeleteLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(NETWORK_ID);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("lswitch:aaaa"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkProfile {
public static NetworkProfile createMockNetworkProfile(long idReturn, java.net.URI broadcastUriReturn) {
NetworkProfile mockNetworkProfile = mock(NetworkProfile.class);
when(mockNetworkProfile.getId()).thenReturn(idReturn);
when(mockNetworkProfile.getBroadcastUri()).thenReturn(broadcastUriReturn);
return mockNetworkProfile;
}
}
Test Case ID #cloudstack_Test_152_2
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: implementednetwork
Suggested Diff
@@
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
- NetworkProfile implementednetwork = mock(NetworkProfile.class);
- when(implementednetwork.getId()).thenReturn(42L);
- when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
+ NetworkProfile implementednetwork = MockNetworkProfile.createMockNetworkProfile(42L, new URI("vxlan:12345"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
@@
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vxlan);
when(network.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(network.getPhysicalNetworkId()).thenReturn(42L);
when(netdao.findById(42L)).thenReturn(network);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(42L);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkProfile {
public static NetworkProfile createMockNetworkProfile(long idReturn, java.net.URI broadcastUriReturn) {
NetworkProfile mockNetworkProfile = mock(NetworkProfile.class);
when(mockNetworkProfile.getId()).thenReturn(idReturn);
when(mockNetworkProfile.getBroadcastUri()).thenReturn(broadcastUriReturn);
return mockNetworkProfile;
}
}
Mock Clone Instance #cloudstack_MCI_153
- Scope: method level
- Mocked Class:
com.cloud.network.PhysicalNetworkSetupInfo
- Test Case Count: 4
- MO Count: 4
Reusable Method
private PhysicalNetworkSetupInfo nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(PhysicalNetworkSetupInfo.class);
}
nic;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_153_1
Test Case Name: testCheckNetworkCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void testCheckNetworkCommand() {
final List<PhysicalNetworkSetupInfo> networkInfoList = new ArrayList<PhysicalNetworkSetupInfo>();
- final PhysicalNetworkSetupInfo nic = Mockito.mock(PhysicalNetworkSetupInfo.class);
+ // removed local mock; replaced with global field `nic`
networkInfoList.add(nic);
final CheckNetworkCommand command = new CheckNetworkCommand(networkInfoList);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, nic.getGuestNetworkName())).thenReturn(true);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Management, nic.getPrivateNetworkName())).thenReturn(true);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Public, nic.getPublicNetworkName())).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, nic.getGuestNetworkName());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Management, nic.getPrivateNetworkName());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Public, nic.getPublicNetworkName());
}
Original Test Code (click to expand)
@Test
public void testCheckNetworkCommand() {
final List<PhysicalNetworkSetupInfo> networkInfoList = new ArrayList<PhysicalNetworkSetupInfo>();
final PhysicalNetworkSetupInfo nic = Mockito.mock(PhysicalNetworkSetupInfo.class);
networkInfoList.add(nic);
final CheckNetworkCommand command = new CheckNetworkCommand(networkInfoList);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, nic.getGuestNetworkName())).thenReturn(true);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Management, nic.getPrivateNetworkName())).thenReturn(true);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Public, nic.getPublicNetworkName())).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, nic.getGuestNetworkName());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Management, nic.getPrivateNetworkName());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Public, nic.getPublicNetworkName());
}
Reusable Method for MCI (click to expand)
private PhysicalNetworkSetupInfo nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(PhysicalNetworkSetupInfo.class);
}
nic;
Test Case ID #cloudstack_Test_153_2
Test Case Name: testCheckNetworkCommandFail1(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: networkSetupInfo
Suggested Diff
@@
@Test
public void testCheckNetworkCommandFail1() {
final List<PhysicalNetworkSetupInfo> networkInfoList = new ArrayList<PhysicalNetworkSetupInfo>();
- final PhysicalNetworkSetupInfo networkSetupInfo = Mockito.mock(PhysicalNetworkSetupInfo.class);
+ // removed local mock; replaced with global field `nic`
networkInfoList.add(nic);
final CheckNetworkCommand command = new CheckNetworkCommand(networkInfoList);
- when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName())).thenReturn(false);
+ when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, nic.getGuestNetworkName())).thenReturn(false);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
- verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName());
+ verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, nic.getGuestNetworkName());
}
Original Test Code (click to expand)
@Test
public void testCheckNetworkCommandFail1() {
final List<PhysicalNetworkSetupInfo> networkInfoList = new ArrayList<PhysicalNetworkSetupInfo>();
final PhysicalNetworkSetupInfo networkSetupInfo = Mockito.mock(PhysicalNetworkSetupInfo.class);
networkInfoList.add(networkSetupInfo);
final CheckNetworkCommand command = new CheckNetworkCommand(networkInfoList);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName())).thenReturn(false);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName());
}
Reusable Method for MCI (click to expand)
private PhysicalNetworkSetupInfo nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(PhysicalNetworkSetupInfo.class);
}
nic;
Test Case ID #cloudstack_Test_153_3
Test Case Name: testCheckNetworkCommandFail2(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: networkSetupInfo
Suggested Diff
@@
@Test
public void testCheckNetworkCommandFail2() {
final List<PhysicalNetworkSetupInfo> networkInfoList = new ArrayList<PhysicalNetworkSetupInfo>();
- final PhysicalNetworkSetupInfo networkSetupInfo = Mockito.mock(PhysicalNetworkSetupInfo.class);
+ // removed local mock; replaced with global field `nic`
networkInfoList.add(nic);
final CheckNetworkCommand command = new CheckNetworkCommand(networkInfoList);
- when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName())).thenReturn(true);
+ when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, nic.getGuestNetworkName())).thenReturn(true);
- when(libvirtComputingResourceMock.checkNetwork(TrafficType.Management, networkSetupInfo.getPrivateNetworkName())).thenReturn(false);
+ when(libvirtComputingResourceMock.checkNetwork(TrafficType.Management, nic.getPrivateNetworkName())).thenReturn(false);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
- verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName());
+ verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, nic.getGuestNetworkName());
- verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Management, networkSetupInfo.getPrivateNetworkName());
+ verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Management, nic.getPrivateNetworkName());
}
Original Test Code (click to expand)
@Test
public void testCheckNetworkCommandFail2() {
final List<PhysicalNetworkSetupInfo> networkInfoList = new ArrayList<PhysicalNetworkSetupInfo>();
final PhysicalNetworkSetupInfo networkSetupInfo = Mockito.mock(PhysicalNetworkSetupInfo.class);
networkInfoList.add(networkSetupInfo);
final CheckNetworkCommand command = new CheckNetworkCommand(networkInfoList);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName())).thenReturn(true);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Management, networkSetupInfo.getPrivateNetworkName())).thenReturn(false);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Management, networkSetupInfo.getPrivateNetworkName());
}
Reusable Method for MCI (click to expand)
private PhysicalNetworkSetupInfo nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(PhysicalNetworkSetupInfo.class);
}
nic;
Test Case ID #cloudstack_Test_153_4
Test Case Name: testCheckNetworkCommandFail3(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: networkSetupInfo
Suggested Diff
@@
@Test
public void testCheckNetworkCommandFail3() {
final List<PhysicalNetworkSetupInfo> networkInfoList = new ArrayList<PhysicalNetworkSetupInfo>();
- final PhysicalNetworkSetupInfo networkSetupInfo = Mockito.mock(PhysicalNetworkSetupInfo.class);
+ // removed local mock; replaced with global field `nic`
networkInfoList.add(nic);
final CheckNetworkCommand command = new CheckNetworkCommand(networkInfoList);
- when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName())).thenReturn(true);
+ when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, nic.getGuestNetworkName())).thenReturn(true);
- when(libvirtComputingResourceMock.checkNetwork(TrafficType.Management, networkSetupInfo.getPrivateNetworkName())).thenReturn(true);
+ when(libvirtComputingResourceMock.checkNetwork(TrafficType.Management, nic.getPrivateNetworkName())).thenReturn(true);
- when(libvirtComputingResourceMock.checkNetwork(TrafficType.Public, networkSetupInfo.getPublicNetworkName())).thenReturn(false);
+ when(libvirtComputingResourceMock.checkNetwork(TrafficType.Public, nic.getPublicNetworkName())).thenReturn(false);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
- verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName());
+ verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, nic.getGuestNetworkName());
- verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Management, networkSetupInfo.getPrivateNetworkName());
+ verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Management, nic.getPrivateNetworkName());
}
Original Test Code (click to expand)
@Test
public void testCheckNetworkCommandFail3() {
final List<PhysicalNetworkSetupInfo> networkInfoList = new ArrayList<PhysicalNetworkSetupInfo>();
final PhysicalNetworkSetupInfo networkSetupInfo = Mockito.mock(PhysicalNetworkSetupInfo.class);
networkInfoList.add(networkSetupInfo);
final CheckNetworkCommand command = new CheckNetworkCommand(networkInfoList);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName())).thenReturn(true);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Management, networkSetupInfo.getPrivateNetworkName())).thenReturn(true);
when(libvirtComputingResourceMock.checkNetwork(TrafficType.Public, networkSetupInfo.getPublicNetworkName())).thenReturn(false);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Guest, networkSetupInfo.getGuestNetworkName());
verify(libvirtComputingResourceMock, times(1)).checkNetwork(TrafficType.Management, networkSetupInfo.getPrivateNetworkName());
}
Reusable Method for MCI (click to expand)
private PhysicalNetworkSetupInfo nic;
@BeforeEach
public void setUp() {
nic = Mockito.mock(PhysicalNetworkSetupInfo.class);
}
nic;
Mock Clone Instance #cloudstack_MCI_154
- Scope: method level
- Mocked Class:
SearchBuilder<AutoScalePolicyVO>
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static SearchBuilder<AutoScalePolicyVO> createMockSearchBuilder(SearchCriteria<AutoScalePolicyVO> searchCriteriaMock, AutoScalePolicyVO asScaleUpPolicyMock) {
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
return searchBuilderMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_154_1
Test Case Name: testCreateAutoScaleVmGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: searchBuilderMock
Suggested Diff
@@
when(lbVmMapDao.isVmAttachedToLoadBalancer(loadBalancerId)).thenReturn(false);
- SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScalePolicyVO> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
+ SearchBuilder<AutoScalePolicyVO> searchBuilderMock = createMockSearchBuilder(searchCriteriaMock, asScaleUpPolicyMock);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
- when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
- Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(asPolicyDao.search(searchCriteriaMock, null)).thenReturn(Arrays.asList(asScaleUpPolicyMock)).thenReturn(Arrays.asList(asScaleDownPolicyMock));
when(autoScaleVmProfileDao.findById(vmProfileId)).thenReturn(asVmProfileMock);
PowerMockito.doReturn(Network.Provider.VirtualRouter).when(autoScaleManagerImplSpy).getLoadBalancerServiceProvider(loadBalancerId);
@@
Original Test Code (click to expand)
@Test
public void testCreateAutoScaleVmGroup() {
CreateAutoScaleVmGroupCmd cmd = new CreateAutoScaleVmGroupCmd();
ReflectionTestUtils.setField(cmd, "lbRuleId", loadBalancerId);
ReflectionTestUtils.setField(cmd, "name", vmGroupName);
ReflectionTestUtils.setField(cmd, "minMembers", minMembers);
ReflectionTestUtils.setField(cmd, "maxMembers", maxMembers);
ReflectionTestUtils.setField(cmd, "interval", interval);
ReflectionTestUtils.setField(cmd, "scaleUpPolicyIds", Arrays.asList(scaleUpPolicyId));
ReflectionTestUtils.setField(cmd, "scaleDownPolicyIds", Arrays.asList(scaleDownPolicyId));
ReflectionTestUtils.setField(cmd, "profileId", vmProfileId);
when(entityManager.findById(LoadBalancer.class, loadBalancerId)).thenReturn(loadBalancerMock);
when(loadBalancerMock.getAccountId()).thenReturn(accountId);
when(loadBalancerMock.getDomainId()).thenReturn(domainId);
when(loadBalancerMock.getDefaultPortStart()).thenReturn(memberPort);
when(lbDao.findById(loadBalancerId)).thenReturn(loadBalancerMock);
when(loadBalancerMock.getSourceIpAddressId()).thenReturn(ipAddressId);
when(loadBalancerMock.getNetworkId()).thenReturn(networkId);
when(ipAddressDao.findById(ipAddressId)).thenReturn(ipAddressMock);
when(ipAddressMock.getDataCenterId()).thenReturn(zoneId);
when(loadBalancerMock.getId()).thenReturn(loadBalancerId);
when(autoScaleVmGroupDao.isAutoScaleLoadBalancer(loadBalancerId)).thenReturn(false);
when(lbVmMapDao.isVmAttachedToLoadBalancer(loadBalancerId)).thenReturn(false);
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScalePolicyVO> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(asPolicyDao.search(searchCriteriaMock, null)).thenReturn(Arrays.asList(asScaleUpPolicyMock)).thenReturn(Arrays.asList(asScaleDownPolicyMock));
when(autoScaleVmProfileDao.findById(vmProfileId)).thenReturn(asVmProfileMock);
PowerMockito.doReturn(Network.Provider.VirtualRouter).when(autoScaleManagerImplSpy).getLoadBalancerServiceProvider(loadBalancerId);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).validateAutoScaleCounters(anyLong(), any(), any());
when(loadBalancerMock.getNetworkId()).thenReturn(networkId);
when(networkDao.findById(networkId)).thenReturn(networkMock);
when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingId);
when(networkOfferingDao.findByIdIncludingRemoved(networkOfferingId)).thenReturn(networkOfferingMock);
when(networkOfferingMock.isSupportsVmAutoScaling()).thenReturn(true);
when(autoScaleVmGroupDao.persist(any())).thenReturn(asVmGroupMock);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).scheduleMonitorTask(anyLong());
AutoScaleVmGroup vmGroup = autoScaleManagerImplSpy.createAutoScaleVmGroup(cmd);
Assert.assertEquals(asVmGroupMock, vmGroup);
Mockito.verify(asGroupStatisticsDao).createInactiveDummyRecord(anyLong());
Mockito.verify(autoScaleManagerImplSpy).scheduleMonitorTask(anyLong());
}
Reusable Method for MCI (click to expand)
private static SearchBuilder<AutoScalePolicyVO> createMockSearchBuilder(SearchCriteria<AutoScalePolicyVO> searchCriteriaMock, AutoScalePolicyVO asScaleUpPolicyMock) {
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
return searchBuilderMock;
}
Test Case ID #cloudstack_Test_154_2
Test Case Name: testUpdateAutoScaleVmGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: searchBuilderMock
Suggested Diff
@@
when(asVmGroupMock.getProfileId()).thenReturn(vmProfileId);
when(asVmGroupMock.getLoadBalancerId()).thenReturn(loadBalancerId);
- SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScalePolicyVO> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
+ SearchBuilder<AutoScalePolicyVO> searchBuilderMock = createMockSearchBuilder(searchCriteriaMock, asScaleUpPolicyMock);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
- when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
- Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(asPolicyDao.search(searchCriteriaMock, null)).thenReturn(Arrays.asList(asScaleUpPolicyMock)).thenReturn(Arrays.asList(asScaleDownPolicyMock));
when(lbDao.findById(loadBalancerId)).thenReturn(loadBalancerMock);
when(autoScaleVmProfileDao.findById(vmProfileId)).thenReturn(asVmProfileMock);
PowerMockito.doReturn(Network.Provider.VirtualRouter).when(autoScaleManagerImplSpy).getLoadBalancerServiceProvider(loadBalancerId);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).validateAutoScaleCounters(anyLong(), any(), any());
when(loadBalancerMock.getNetworkId()).thenReturn(networkId);
when(networkDao.findById(networkId)).thenReturn(networkMock);
when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingId);
when(networkOfferingDao.findByIdIncludingRemoved(networkOfferingId)).thenReturn(networkOfferingMock);
when(networkOfferingMock.isSupportsVmAutoScaling()).thenReturn(true);
when(autoScaleVmGroupDao.persist(any())).thenReturn(asVmGroupMock);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).scheduleMonitorTask(anyLong());
AutoScaleVmGroup vmGroup = autoScaleManagerImplSpy.updateAutoScaleVmGroup(cmd);
Assert.assertEquals(asVmGroupMock, vmGroup);
Mockito.verify(asVmGroupMock).setName(vmGroupNameWithMaxLength);
Mockito.verify(asVmGroupMock).setMinMembers(minMembers + 1);
Mockito.verify(asVmGroupMock).setMaxMembers(maxMembers + 1);
Mockito.verify(asVmGroupMock).setInterval(interval);
@@
Original Test Code (click to expand)
@Test
public void testUpdateAutoScaleVmGroup() {
UpdateAutoScaleVmGroupCmd cmd = new UpdateAutoScaleVmGroupCmd();
ReflectionTestUtils.setField(cmd, "id", vmGroupId);
ReflectionTestUtils.setField(cmd, "name", vmGroupNameWithMaxLength);
ReflectionTestUtils.setField(cmd, "minMembers", minMembers + 1);
ReflectionTestUtils.setField(cmd, "maxMembers", maxMembers + 1);
ReflectionTestUtils.setField(cmd, "interval", interval);
when(autoScaleVmGroupDao.findById(vmGroupId)).thenReturn(asVmGroupMock);
when(asVmGroupMock.getName()).thenReturn(vmGroupNameWithMaxLength);
when(asVmGroupMock.getInterval()).thenReturn(interval);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getState()).thenReturn(AutoScaleVmGroup.State.DISABLED);
when(asVmGroupMock.getProfileId()).thenReturn(vmProfileId);
when(asVmGroupMock.getLoadBalancerId()).thenReturn(loadBalancerId);
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScalePolicyVO> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(asPolicyDao.search(searchCriteriaMock, null)).thenReturn(Arrays.asList(asScaleUpPolicyMock)).thenReturn(Arrays.asList(asScaleDownPolicyMock));
when(lbDao.findById(loadBalancerId)).thenReturn(loadBalancerMock);
when(autoScaleVmProfileDao.findById(vmProfileId)).thenReturn(asVmProfileMock);
PowerMockito.doReturn(Network.Provider.VirtualRouter).when(autoScaleManagerImplSpy).getLoadBalancerServiceProvider(loadBalancerId);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).validateAutoScaleCounters(anyLong(), any(), any());
when(loadBalancerMock.getNetworkId()).thenReturn(networkId);
when(networkDao.findById(networkId)).thenReturn(networkMock);
when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingId);
when(networkOfferingDao.findByIdIncludingRemoved(networkOfferingId)).thenReturn(networkOfferingMock);
when(networkOfferingMock.isSupportsVmAutoScaling()).thenReturn(true);
when(autoScaleVmGroupDao.persist(any())).thenReturn(asVmGroupMock);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).scheduleMonitorTask(anyLong());
AutoScaleVmGroup vmGroup = autoScaleManagerImplSpy.updateAutoScaleVmGroup(cmd);
Assert.assertEquals(asVmGroupMock, vmGroup);
Mockito.verify(asVmGroupMock).setName(vmGroupNameWithMaxLength);
Mockito.verify(asVmGroupMock).setMinMembers(minMembers + 1);
Mockito.verify(asVmGroupMock).setMaxMembers(maxMembers + 1);
Mockito.verify(asVmGroupMock).setInterval(interval);
}
Reusable Method for MCI (click to expand)
private static SearchBuilder<AutoScalePolicyVO> createMockSearchBuilder(SearchCriteria<AutoScalePolicyVO> searchCriteriaMock, AutoScalePolicyVO asScaleUpPolicyMock) {
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
return searchBuilderMock;
}
Mock Clone Instance #cloudstack_MCI_155
- Scope: class level
- Mocked Class:
com.cloud.projects.ProjectService
- Test Case Count: 1
- MO Count: 2
Reusable Method
public class MockProjectService {
public static ProjectService createMockProjectService(Project project, Account account) {
ProjectService projectService = Mockito.mock(ProjectService.class);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
return projectService;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_155_1
Test Case Name: testGetEntityOwnerIdForProject(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\ActivateProjectCmdTest.java)
Mock Object Variable Name: projectService
Suggested Diff
@@
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(2L);
- ProjectService projectService = Mockito.mock(ProjectService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(2L);
- Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
- Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
+ ProjectService projectService = MockProjectService.createMockProjectService(project, account);
activateProjectCmd._projectService = projectService;
Assert.assertEquals(2L, activateProjectCmd.getEntityOwnerId());
}
Original Test Code (click to expand)
@Test
public void testGetEntityOwnerIdForProject() {
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(2L);
ProjectService projectService = Mockito.mock(ProjectService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(2L);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
activateProjectCmd._projectService = projectService;
Assert.assertEquals(2L, activateProjectCmd.getEntityOwnerId());
}
Reusable Method for MCI (click to expand)
public class MockProjectService {
public static ProjectService createMockProjectService(Project project, Account account) {
ProjectService projectService = Mockito.mock(ProjectService.class);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
return projectService;
}
}
Test Case ID #cloudstack_Test_155_2
Test Case Name: testGetEntityOwnerIdForProject(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\AddAccountToProjectCmdTest.java)
Mock Object Variable Name: projectService
Suggested Diff
@@
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(2L);
- ProjectService projectService = Mockito.mock(ProjectService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(2L);
+ ProjectService projectService = MockProjectService.createMockProjectService(project, account);
addAccountToProjectCmd._projectService = projectService;
Assert.assertEquals(2L, addAccountToProjectCmd.getEntityOwnerId());
@@
Original Test Code (click to expand)
@Test
public void testGetEntityOwnerIdForProject() {
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(2L);
ProjectService projectService = Mockito.mock(ProjectService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(2L);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
addAccountToProjectCmd._projectService = projectService;
Assert.assertEquals(2L, addAccountToProjectCmd.getEntityOwnerId());
}
Reusable Method for MCI (click to expand)
public class MockProjectService {
public static ProjectService createMockProjectService(Project project, Account account) {
ProjectService projectService = Mockito.mock(ProjectService.class);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
return projectService;
}
}
Mock Clone Instance #cloudstack_MCI_156
- Scope: method level
- Mocked Class:
com.cloud.vm.VirtualMachineGuru
- Test Case Count: 3
- MO Count: 3
Reusable Method
private VirtualMachineGuru guru;
@BeforeEach
public void setUp() {
guru = mock(VirtualMachineGuru.class);
}
guru
The refactoring details in each test cases
Test Case ID #cloudstack_Test_156_1
Test Case Name: testSendStopWithOkAnswer(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: guru
Suggested Diff
@@
@Test
public void testSendStopWithOkAnswer() throws Exception {
- VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
+ // removed local mock; replaced with global field `guru`
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "ok", true);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
- boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
+ boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
Assert.assertTrue(actual);
}
Original Test Code (click to expand)
@Test
public void testSendStopWithOkAnswer() throws Exception {
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "ok", true);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
Assert.assertTrue(actual);
}
Reusable Method for MCI (click to expand)
private VirtualMachineGuru guru;
@BeforeEach
public void setUp() {
guru = mock(VirtualMachineGuru.class);
}
guru
Test Case ID #cloudstack_Test_156_2
Test Case Name: testSendStopWithFailAnswer(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: guru
Suggested Diff
@@
@Test
public void testSendStopWithFailAnswer() throws Exception {
- VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
+ // removed local mock; replaced with global field `guru`
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "fail", false);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
- boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
+ boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
}
Original Test Code (click to expand)
@Test
public void testSendStopWithFailAnswer() throws Exception {
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "fail", false);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
}
Reusable Method for MCI (click to expand)
private VirtualMachineGuru guru;
@BeforeEach
public void setUp() {
guru = mock(VirtualMachineGuru.class);
}
guru
Test Case ID #cloudstack_Test_156_3
Test Case Name: testSendStopWithNullAnswer(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: guru
Suggested Diff
@@
@Test
public void testSendStopWithNullAnswer() throws Exception {
- VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
+ // removed local mock; replaced with global field `guru`
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(null);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
}
Original Test Code (click to expand)
@Test
public void testSendStopWithNullAnswer() throws Exception {
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(null);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
}
Reusable Method for MCI (click to expand)
private VirtualMachineGuru guru;
@BeforeEach
public void setUp() {
guru = mock(VirtualMachineGuru.class);
}
guru
Mock Clone Instance #cloudstack_MCI_157
- Scope: class level
- Mocked Class:
DataCenterDao
- Test Case Count: 36
- MO Count: 36
Reusable Method
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_157_1
Test Case Name: shutdownProviderInstancesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
Network publicNetwork = mock(Network.class);
VlanVO vlanVO1 = mock(VlanVO.class);
VlanVO vlanVO2 = mock(VlanVO.class);
List<VlanVO> vlanVOList = Arrays.asList(vlanVO1, vlanVO2);
HostPodVO hostPodVO1 = mock(HostPodVO.class);
HostPodVO hostPodVO2 = mock(HostPodVO.class);
List<HostPodVO> hostPodVOList = Arrays.asList(hostPodVO1, hostPodVO2);
- when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
- when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
+ when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(vlanDao.listVlansByNetworkIdIncludingRemoved(anyLong())).thenReturn(vlanVOList);
when(hostPodDao.listByDataCenterId(anyLong())).thenReturn(hostPodVOList);
assertTrue(tungstenElement.shutdownProviderInstances(physicalNetworkServiceProvider, reservationContext));
verify(networkServiceMapDao, times(1)).deleteByNetworkId(anyLong());
verify(tungstenService, times(2)).removePublicNetworkSubnet(any(VlanVO.class));
verify(tungstenService, times(1)).deletePublicNetwork(anyLong());
verify(tungstenService, times(2)).removeManagementNetworkSubnet(any(HostPodVO.class));
verify(tungstenService, times(1)).deleteManagementNetwork(anyLong());
@@
Original Test Code (click to expand)
@Test
public void shutdownProviderInstancesTest() throws ConcurrentOperationException {
PhysicalNetworkServiceProvider physicalNetworkServiceProvider = mock(PhysicalNetworkServiceProvider.class);
ReservationContext reservationContext = mock(ReservationContext.class);
PhysicalNetworkVO physicalNetworkVO = mock(PhysicalNetworkVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
Network publicNetwork = mock(Network.class);
VlanVO vlanVO1 = mock(VlanVO.class);
VlanVO vlanVO2 = mock(VlanVO.class);
List<VlanVO> vlanVOList = Arrays.asList(vlanVO1, vlanVO2);
HostPodVO hostPodVO1 = mock(HostPodVO.class);
HostPodVO hostPodVO2 = mock(HostPodVO.class);
List<HostPodVO> hostPodVOList = Arrays.asList(hostPodVO1, hostPodVO2);
when(physicalNetworkDao.findById(anyLong())).thenReturn(physicalNetworkVO);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
when(vlanDao.listVlansByNetworkIdIncludingRemoved(anyLong())).thenReturn(vlanVOList);
when(hostPodDao.listByDataCenterId(anyLong())).thenReturn(hostPodVOList);
assertTrue(tungstenElement.shutdownProviderInstances(physicalNetworkServiceProvider, reservationContext));
verify(networkServiceMapDao, times(1)).deleteByNetworkId(anyLong());
verify(tungstenService, times(2)).removePublicNetworkSubnet(any(VlanVO.class));
verify(tungstenService, times(1)).deletePublicNetwork(anyLong());
verify(tungstenService, times(2)).removeManagementNetworkSubnet(any(HostPodVO.class));
verify(tungstenService, times(1)).deleteManagementNetwork(anyLong());
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_2
Test Case Name: processHostAboutToBeRemovedWithSecurityGroupTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
TungstenProviderVO tungstenProvider = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
NetworkVO network = mock(NetworkVO.class);
when(hostVO.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProvider);
when(hostVO.getPublicIpAddress()).thenReturn("192.168.100.100");
when(tungstenProvider.getGateway()).thenReturn("192.168.100.100");
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(true);
when(networkDao.listByZoneSecurityGroup(anyLong())).thenReturn(List.of(network));
tungstenElement.processHostAboutToBeRemoved(1L);
verify(agentManager, times(1)).easySend(anyLong(), any(SetupTungstenVRouterCommand.class));
}
Original Test Code (click to expand)
@Test
public void processHostAboutToBeRemovedWithSecurityGroupTest() {
HostVO hostVO = mock(HostVO.class);
TungstenProviderVO tungstenProvider = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
NetworkVO network = mock(NetworkVO.class);
when(hostVO.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProvider);
when(hostVO.getPublicIpAddress()).thenReturn("192.168.100.100");
when(tungstenProvider.getGateway()).thenReturn("192.168.100.100");
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(true);
when(networkDao.listByZoneSecurityGroup(anyLong())).thenReturn(List.of(network));
tungstenElement.processHostAboutToBeRemoved(1L);
verify(agentManager, times(1)).easySend(anyLong(), any(SetupTungstenVRouterCommand.class));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_3
Test Case Name: processHostAboutToBeRemovedWithoutSecurityGroupTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
TungstenProviderVO tungstenProvider = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(hostVO.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProvider);
when(hostVO.getPublicIpAddress()).thenReturn("192.168.100.100");
when(tungstenProvider.getGateway()).thenReturn("192.168.100.100");
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(false);
tungstenElement.processHostAboutToBeRemoved(1L);
verify(agentManager, times(1)).easySend(anyLong(), any(SetupTungstenVRouterCommand.class));
@@
Original Test Code (click to expand)
@Test
public void processHostAboutToBeRemovedWithoutSecurityGroupTest() {
HostVO hostVO = mock(HostVO.class);
TungstenProviderVO tungstenProvider = mock(TungstenProviderVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(hostVO.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProvider);
when(hostVO.getPublicIpAddress()).thenReturn("192.168.100.100");
when(tungstenProvider.getGateway()).thenReturn("192.168.100.100");
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(false);
tungstenElement.processHostAboutToBeRemoved(1L);
verify(agentManager, times(1)).easySend(anyLong(), any(SetupTungstenVRouterCommand.class));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_4
Test Case Name: createTungstenPolicyTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
TungstenNetworkPolicy tungstenNetworkPolicy = mock(TungstenNetworkPolicy.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getTungstenModel()).thenReturn(tungstenNetworkPolicy);
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
assertNotNull(tungstenService.createTungstenPolicy(1L, "test"));
}
Original Test Code (click to expand)
@Test
public void createTungstenPolicyTest() {
TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenNetworkPolicy tungstenNetworkPolicy = mock(TungstenNetworkPolicy.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenPolicyCommand.class), anyLong())).thenReturn(createTungstenPolicyAnswer);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
when(createTungstenPolicyAnswer.getTungstenModel()).thenReturn(tungstenNetworkPolicy);
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
assertNotNull(tungstenService.createTungstenPolicy(1L, "test"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_5
Test Case Name: addTungstenPolicyRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
AddressType addressType = mock(AddressType.class);
SubnetType subnetType = mock(SubnetType.class);
PortType portType = mock(PortType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(addTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
when(addTungstenPolicyRuleAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(networkPolicy.getEntries()).thenReturn(policyEntriesType);
Original Test Code (click to expand)
@Test
public void addTungstenPolicyRuleTest() throws Exception {
AddTungstenPolicyRuleCommand addTungstenPolicyRuleCommand = mock(AddTungstenPolicyRuleCommand.class);
TungstenAnswer addTungstenPolicyRuleAnswer = mock(TungstenAnswer.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
PolicyEntriesType policyEntriesType = mock(PolicyEntriesType.class);
PolicyRuleType policyRuleType = mock(PolicyRuleType.class);
ActionListType actionListType = mock(ActionListType.class);
AddressType addressType = mock(AddressType.class);
SubnetType subnetType = mock(SubnetType.class);
PortType portType = mock(PortType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenPolicyRuleCommand.class), anyLong())).thenReturn(addTungstenPolicyRuleAnswer);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(addTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
when(addTungstenPolicyRuleAnswer.getApiObjectBase()).thenReturn(networkPolicy);
when(networkPolicy.getEntries()).thenReturn(policyEntriesType);
when(policyEntriesType.getPolicyRule()).thenReturn(List.of(policyRuleType));
whenNew(AddTungstenPolicyRuleCommand.class).withAnyArguments().thenReturn(addTungstenPolicyRuleCommand);
PowerMockito.when(addTungstenPolicyRuleCommand, "getUuid").thenReturn("8b4637b6-5629-46de-8fb2-d0b0502bfa85");
when(policyRuleType.getRuleUuid()).thenReturn("8b4637b6-5629-46de-8fb2-d0b0502bfa85");
when(policyRuleType.getActionList()).thenReturn(actionListType);
when(actionListType.getSimpleAction()).thenReturn("pass");
when(policyRuleType.getSrcAddresses()).thenReturn(List.of(addressType));
when(addressType.getSubnet()).thenReturn(subnetType);
when(policyRuleType.getSrcPorts()).thenReturn(List.of(portType));
when(policyRuleType.getDstAddresses()).thenReturn(List.of(addressType));
when(policyRuleType.getDstPorts()).thenReturn(List.of(portType));
assertNotNull(tungstenService.addTungstenPolicyRule(1L, "948f421c-edde-4518-a391-09299cc25dc2", "pass", "<>", "tcp", "network1", "192.168.100.100", 32, 80, 80, "network2", "192.168.200.200", 32, 80, 80));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_6
Test Case Name: listTungstenPolicyTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
TungstenAnswer listTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenNetworkPolicy tungstenNetworkPolicy = mock(TungstenNetworkPolicy.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
- DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(networkDao.findById(anyLong())).thenReturn(networkVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenPolicyCommand.class), anyLong())).thenReturn(listTungstenPolicyAnswer);
when(listTungstenPolicyAnswer.getResult()).thenReturn(true);
when(listTungstenPolicyAnswer.getTungstenModelList()).thenReturn(List.of(tungstenNetworkPolicy));
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
when(tungstenNetworkPolicy.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.listTungstenPolicy(1L, 2L, 3L, "948f421c-edde-4518-a391-09299cc25dc2"));
}
Original Test Code (click to expand)
@Test
public void listTungstenPolicyTest() {
NetworkVO networkVO = mock(NetworkVO.class);
TungstenAnswer listTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenNetworkPolicy tungstenNetworkPolicy = mock(TungstenNetworkPolicy.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(networkDao.findById(anyLong())).thenReturn(networkVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenPolicyCommand.class), anyLong())).thenReturn(listTungstenPolicyAnswer);
when(listTungstenPolicyAnswer.getResult()).thenReturn(true);
when(listTungstenPolicyAnswer.getTungstenModelList()).thenReturn(List.of(tungstenNetworkPolicy));
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
when(tungstenNetworkPolicy.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.listTungstenPolicy(1L, 2L, 3L, "948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_7
Test Case Name: listTungstenNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenNetworkCommand.class), anyLong())).thenReturn(listTungstenNetworkAnswer);
when(listTungstenNetworkAnswer.getResult()).thenReturn(true);
doReturn(List.of(virtualNetwork)).when(listTungstenNetworkAnswer).getApiObjectBaseList();
when((virtualNetwork.getName())).thenReturn("guestNetwork1");
assertNotNull(tungstenService.listTungstenNetwork(1L, "948f421c-edde-4518-a391-09299cc25dc2", false));
Original Test Code (click to expand)
@Test
public void listTungstenNetworkTest() {
TungstenAnswer listTungstenNetworkAnswer = mock(TungstenAnswer.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenNetworkCommand.class), anyLong())).thenReturn(listTungstenNetworkAnswer);
when(listTungstenNetworkAnswer.getResult()).thenReturn(true);
doReturn(List.of(virtualNetwork)).when(listTungstenNetworkAnswer).getApiObjectBaseList();
when((virtualNetwork.getName())).thenReturn("guestNetwork1");
assertNotNull(tungstenService.listTungstenNetwork(1L, "948f421c-edde-4518-a391-09299cc25dc2", false));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_8
Test Case Name: listTungstenNicTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
VirtualMachineInterface virtualMachineInterface = mock(VirtualMachineInterface.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenNicCommand.class), anyLong())).thenReturn(listTungstenNicAnswer);
when(listTungstenNicAnswer.getResult()).thenReturn(true);
doReturn(List.of(virtualMachineInterface)).when(listTungstenNicAnswer).getApiObjectBaseList();
assertNotNull(tungstenService.listTungstenNic(1L, "948f421c-edde-4518-a391-09299cc25dc2"));
}
@@
Original Test Code (click to expand)
@Test
public void listTungstenNicTest() {
TungstenAnswer listTungstenNicAnswer = mock(TungstenAnswer.class);
VirtualMachineInterface virtualMachineInterface = mock(VirtualMachineInterface.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenNicCommand.class), anyLong())).thenReturn(listTungstenNicAnswer);
when(listTungstenNicAnswer.getResult()).thenReturn(true);
doReturn(List.of(virtualMachineInterface)).when(listTungstenNicAnswer).getApiObjectBaseList();
assertNotNull(tungstenService.listTungstenNic(1L, "948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_9
Test Case Name: listTungstenVmTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenVmCommand.class), anyLong())).thenReturn(listTungstenVmAnswer);
when(listTungstenVmAnswer.getResult()).thenReturn(true);
doReturn(List.of(virtualMachine)).when(listTungstenVmAnswer).getApiObjectBaseList();
assertNotNull(tungstenService.listTungstenVm(1L, "948f421c-edde-4518-a391-09299cc25dc2"));
}
@@
Original Test Code (click to expand)
@Test
public void listTungstenVmTest() {
TungstenAnswer listTungstenVmAnswer = mock(TungstenAnswer.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenVmCommand.class), anyLong())).thenReturn(listTungstenVmAnswer);
when(listTungstenVmAnswer.getResult()).thenReturn(true);
doReturn(List.of(virtualMachine)).when(listTungstenVmAnswer).getApiObjectBaseList();
assertNotNull(tungstenService.listTungstenVm(1L, "948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_10
Test Case Name: listTungstenPolicyRuleWithRuleUuidTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenPolicyRuleCommand.class), anyLong())).thenReturn(listTungstenPolicyRuleAnswer);
when(listTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
Original Test Code (click to expand)
@Test
public void listTungstenPolicyRuleWithRuleUuidTest() {
TungstenAnswer listTungstenPolicyRuleAnswer = mock(TungstenAnswer.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
PolicyEntriesType policyEntriesType = mock(PolicyEntriesType.class);
PolicyRuleType policyRuleType = mock(PolicyRuleType.class);
ActionListType actionListType = mock(ActionListType.class);
AddressType addressType = mock(AddressType.class);
SubnetType subnetType = mock(SubnetType.class);
PortType portType = mock(PortType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenPolicyRuleCommand.class), anyLong())).thenReturn(listTungstenPolicyRuleAnswer);
when(listTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
doReturn(networkPolicy).when(listTungstenPolicyRuleAnswer).getApiObjectBase();
when(networkPolicy.getEntries()).thenReturn(policyEntriesType);
when(policyEntriesType.getPolicyRule()).thenReturn(List.of(policyRuleType));
when(policyRuleType.getRuleUuid()).thenReturn("8b4637b6-5629-46de-8fb2-d0b0502bfa85");
when(policyRuleType.getActionList()).thenReturn(actionListType);
when(actionListType.getSimpleAction()).thenReturn("pass");
when(policyRuleType.getSrcAddresses()).thenReturn(List.of(addressType));
when(addressType.getSubnet()).thenReturn(subnetType);
when(policyRuleType.getSrcPorts()).thenReturn(List.of(portType));
when(policyRuleType.getDstAddresses()).thenReturn(List.of(addressType));
when(policyRuleType.getDstPorts()).thenReturn(List.of(portType));
assertNotNull(tungstenService.listTungstenPolicyRule(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_11
Test Case Name: listTungstenPolicyRuleWithAllRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
SubnetType subnetType = mock(SubnetType.class);
PortType portType = mock(PortType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenPolicyRuleCommand.class), anyLong())).thenReturn(listTungstenPolicyRuleAnswer);
when(listTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
doReturn(networkPolicy).when(listTungstenPolicyRuleAnswer).getApiObjectBase();
@@
Original Test Code (click to expand)
@Test
public void listTungstenPolicyRuleWithAllRuleTest() {
TungstenAnswer listTungstenPolicyRuleAnswer = mock(TungstenAnswer.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
PolicyEntriesType policyEntriesType = mock(PolicyEntriesType.class);
PolicyRuleType policyRuleType = mock(PolicyRuleType.class);
ActionListType actionListType = mock(ActionListType.class);
AddressType addressType = mock(AddressType.class);
SubnetType subnetType = mock(SubnetType.class);
PortType portType = mock(PortType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenPolicyRuleCommand.class), anyLong())).thenReturn(listTungstenPolicyRuleAnswer);
when(listTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
doReturn(networkPolicy).when(listTungstenPolicyRuleAnswer).getApiObjectBase();
when(networkPolicy.getEntries()).thenReturn(policyEntriesType);
when(policyEntriesType.getPolicyRule()).thenReturn(List.of(policyRuleType));
when(policyRuleType.getRuleUuid()).thenReturn("8b4637b6-5629-46de-8fb2-d0b0502bfa85");
when(policyRuleType.getActionList()).thenReturn(actionListType);
when(actionListType.getSimpleAction()).thenReturn("pass");
when(policyRuleType.getSrcAddresses()).thenReturn(List.of(addressType));
when(addressType.getSubnet()).thenReturn(subnetType);
when(policyRuleType.getSrcPorts()).thenReturn(List.of(portType));
when(policyRuleType.getDstAddresses()).thenReturn(List.of(addressType));
when(policyRuleType.getDstPorts()).thenReturn(List.of(portType));
assertNotNull(tungstenService.listTungstenPolicyRule(1L, "948f421c-edde-4518-a391-09299cc25dc2", null));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_12
Test Case Name: removeTungstenPolicyRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenPolicyRuleCommand.class), anyLong())).thenReturn(removeTungstenPolicyRuleAnswer);
when(removeTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
Original Test Code (click to expand)
@Test
public void removeTungstenPolicyRuleTest() {
TungstenAnswer removeTungstenPolicyRuleAnswer = mock(TungstenAnswer.class);
TungstenNetworkPolicy tungstenNetworkPolicy = mock(TungstenNetworkPolicy.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenPolicyRuleCommand.class), anyLong())).thenReturn(removeTungstenPolicyRuleAnswer);
when(removeTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
when(removeTungstenPolicyRuleAnswer.getTungstenModel()).thenReturn(tungstenNetworkPolicy);
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
when(tungstenNetworkPolicy.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.removeTungstenPolicyRule(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_13
Test Case Name: createTungstenTagTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
VirtualMachine virtualMachine = mock(VirtualMachine.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenTagCommand.class), anyLong())).thenReturn(createTungstenTagAnswer);
when(createTungstenTagAnswer.getResult()).thenReturn(true);
when(createTungstenTagAnswer.getTungstenModel()).thenReturn(tungstenTag);
when(tungstenTag.getTag()).thenReturn(tag);
doReturn(List.of(virtualNetwork)).when(tungstenTag).getVirtualNetworkList();
doReturn(List.of(virtualMachine)).when(tungstenTag).getVirtualMachineList();
doReturn(List.of(virtualMachineInterface)).when(tungstenTag).getVirtualMachineInterfaceList();
doReturn(List.of(networkPolicy)).when(tungstenTag).getNetworkPolicyList();
assertNotNull(tungstenService.createTungstenTag(1L, "testTag", "testTagType"));
}
Original Test Code (click to expand)
@Test
public void createTungstenTagTest() {
TungstenAnswer createTungstenTagAnswer = mock(TungstenAnswer.class);
TungstenTag tungstenTag = mock(TungstenTag.class);
Tag tag = mock(Tag.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
VirtualMachineInterface virtualMachineInterface = mock(VirtualMachineInterface.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenTagCommand.class), anyLong())).thenReturn(createTungstenTagAnswer);
when(createTungstenTagAnswer.getResult()).thenReturn(true);
when(createTungstenTagAnswer.getTungstenModel()).thenReturn(tungstenTag);
when(tungstenTag.getTag()).thenReturn(tag);
doReturn(List.of(virtualNetwork)).when(tungstenTag).getVirtualNetworkList();
doReturn(List.of(virtualMachine)).when(tungstenTag).getVirtualMachineList();
doReturn(List.of(virtualMachineInterface)).when(tungstenTag).getVirtualMachineInterfaceList();
doReturn(List.of(networkPolicy)).when(tungstenTag).getNetworkPolicyList();
assertNotNull(tungstenService.createTungstenTag(1L, "testTag", "testTagType"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_14
Test Case Name: createTungstenTagTypeTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
TungstenAnswer createTungstenTagTypeAnswer = mock(TungstenAnswer.class);
TagType tagtype = mock(TagType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenTagTypeCommand.class), anyLong())).thenReturn(createTungstenTagTypeAnswer);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenTagTypeCommand.class), anyLong())).thenReturn(createTungstenTagTypeAnswer);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(createTungstenTagTypeAnswer.getResult()).thenReturn(true);
when(createTungstenTagTypeAnswer.getApiObjectBase()).thenReturn(tagtype);
assertNotNull(tungstenService.createTungstenTagType(1L, "testTagType"));
}
Original Test Code (click to expand)
@Test
public void createTungstenTagTypeTest() {
TungstenAnswer createTungstenTagTypeAnswer = mock(TungstenAnswer.class);
TagType tagtype = mock(TagType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenTagTypeCommand.class), anyLong())).thenReturn(createTungstenTagTypeAnswer);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(createTungstenTagTypeAnswer.getResult()).thenReturn(true);
when(createTungstenTagTypeAnswer.getApiObjectBase()).thenReturn(tagtype);
assertNotNull(tungstenService.createTungstenTagType(1L, "testTagType"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_15
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenTagCommand.class), anyLong())).thenReturn(listTungstenTagAnswer);
when(listTungstenTagAnswer.getResult()).thenReturn(true);
Original Test Code (click to expand)
@Test
public void listTungstenTagsTest() {
TungstenAnswer listTungstenTagAnswer = mock(TungstenAnswer.class);
TungstenTag tungstenTag = mock(TungstenTag.class);
Tag tag = mock(Tag.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
VirtualMachineInterface virtualMachineInterface = mock(VirtualMachineInterface.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
ApplicationPolicySet applicationPolicySet = mock(ApplicationPolicySet.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenTagCommand.class), anyLong())).thenReturn(listTungstenTagAnswer);
when(listTungstenTagAnswer.getResult()).thenReturn(true);
when(listTungstenTagAnswer.getTungstenModelList()).thenReturn(List.of(tungstenTag));
when(tungstenTag.getTag()).thenReturn(tag);
doReturn(List.of(virtualNetwork)).when(tungstenTag).getVirtualNetworkList();
doReturn(List.of(virtualMachine)).when(tungstenTag).getVirtualMachineList();
doReturn(List.of(virtualMachineInterface)).when(tungstenTag).getVirtualMachineInterfaceList();
doReturn(List.of(networkPolicy)).when(tungstenTag).getNetworkPolicyList();
doReturn(List.of(applicationPolicySet)).when(tungstenTag).getApplicationPolicySetList();
assertNotNull(tungstenService.listTungstenTags(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85", "8d097a79-a38d-4db4-8a41-16f15d9c5afa", "a329662e-1805-4a89-9b05-2b818ea35978", "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb", "f5ba12c8-d4c5-4c20-a57d-67a9b6fca652"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_16
Test Case Name: listTungstenTagTypesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
TagType tagtype = mock(TagType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenTagTypeCommand.class), anyLong())).thenReturn(listTungstenTagTypeAnswer);
when(listTungstenTagTypeAnswer.getResult()).thenReturn(true);
doReturn(List.of(tagtype)).when(listTungstenTagTypeAnswer).getApiObjectBaseList();
assertNotNull(tungstenService.listTungstenTagTypes(1L, "testTagType"));
Original Test Code (click to expand)
@Test
public void listTungstenTagTypesTest() {
TungstenAnswer listTungstenTagTypeAnswer = mock(TungstenAnswer.class);
TagType tagtype = mock(TagType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenTagTypeCommand.class), anyLong())).thenReturn(listTungstenTagTypeAnswer);
when(listTungstenTagTypeAnswer.getResult()).thenReturn(true);
doReturn(List.of(tagtype)).when(listTungstenTagTypeAnswer).getApiObjectBaseList();
assertNotNull(tungstenService.listTungstenTagTypes(1L, "testTagType"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_17
Test Case Name: applyTungstenPolicyTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
Original Test Code (click to expand)
@Test
public void applyTungstenPolicyTest() {
TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenNetworkPolicy tungstenNetworkPolicy = mock(TungstenNetworkPolicy.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(applyTungstenPolicyAnswer);
when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
when(applyTungstenPolicyAnswer.getTungstenModel()).thenReturn(tungstenNetworkPolicy);
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
when(tungstenNetworkPolicy.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.applyTungstenPolicy(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85", 1, 1));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_18
Test Case Name: applyTungstenTagTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
VirtualMachineInterface virtualMachineInterface = mock(VirtualMachineInterface.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenTagCommand.class), anyLong())).thenReturn(applyTungstenTagAnswer);
when(applyTungstenTagAnswer.getResult()).thenReturn(true);
Original Test Code (click to expand)
@Test
public void applyTungstenTagTest() {
TungstenAnswer applyTungstenTagAnswer = mock(TungstenAnswer.class);
TungstenTag tungstenTag = mock(TungstenTag.class);
Tag tag = mock(Tag.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
VirtualMachineInterface virtualMachineInterface = mock(VirtualMachineInterface.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenTagCommand.class), anyLong())).thenReturn(applyTungstenTagAnswer);
when(applyTungstenTagAnswer.getResult()).thenReturn(true);
when(applyTungstenTagAnswer.getTungstenModel()).thenReturn(tungstenTag);
when(tungstenTag.getTag()).thenReturn(tag);
when(tungstenTag.getNetworkPolicyList()).thenReturn(List.of(networkPolicy));
when(tungstenTag.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
when(tungstenTag.getVirtualMachineList()).thenReturn(List.of(virtualMachine));
when(tungstenTag.getVirtualMachineInterfaceList()).thenReturn(List.of(virtualMachineInterface));
assertNotNull(tungstenService.applyTungstenTag(1L, List.of("948f421c-edde-4518-a391-09299cc25dc2"), List.of("8b4637b6-5629-46de-8fb2-d0b0502bfa85"), List.of("8d097a79-a38d-4db4-8a41-16f15d9c5afa"), "a329662e-1805-4a89-9b05-2b818ea35978", "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb", "f5ba12c8-d4c5-4c20-a57d-67a9b6fca652"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_19
Test Case Name: removeTungstenPolicyTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
TungstenNetworkPolicy tungstenNetworkPolicy = mock(TungstenNetworkPolicy.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenPolicyCommand.class), anyLong())).thenReturn(removeTungstenPolicyAnswer);
when(removeTungstenPolicyAnswer.getResult()).thenReturn(true);
when(removeTungstenPolicyAnswer.getTungstenModel()).thenReturn(tungstenNetworkPolicy);
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
when(tungstenNetworkPolicy.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.removeTungstenPolicy(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
}
Original Test Code (click to expand)
@Test
public void removeTungstenPolicyTest() {
TungstenAnswer removeTungstenPolicyAnswer = mock(TungstenAnswer.class);
TungstenNetworkPolicy tungstenNetworkPolicy = mock(TungstenNetworkPolicy.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenPolicyCommand.class), anyLong())).thenReturn(removeTungstenPolicyAnswer);
when(removeTungstenPolicyAnswer.getResult()).thenReturn(true);
when(removeTungstenPolicyAnswer.getTungstenModel()).thenReturn(tungstenNetworkPolicy);
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
when(tungstenNetworkPolicy.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.removeTungstenPolicy(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_20
Test Case Name: removeTungstenTagTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
VirtualMachineInterface virtualMachineInterface = mock(VirtualMachineInterface.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenTagCommand.class), anyLong())).thenReturn(removeTungstenTagAnswer);
when(removeTungstenTagAnswer.getResult()).thenReturn(true);
Original Test Code (click to expand)
@Test
public void removeTungstenTagTest() {
TungstenAnswer removeTungstenTagAnswer = mock(TungstenAnswer.class);
TungstenTag tungstenTag = mock(TungstenTag.class);
Tag tag = mock(Tag.class);
NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
VirtualMachineInterface virtualMachineInterface = mock(VirtualMachineInterface.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenTagCommand.class), anyLong())).thenReturn(removeTungstenTagAnswer);
when(removeTungstenTagAnswer.getResult()).thenReturn(true);
when(removeTungstenTagAnswer.getTungstenModel()).thenReturn(tungstenTag);
when(tungstenTag.getTag()).thenReturn(tag);
when(tungstenTag.getNetworkPolicyList()).thenReturn(List.of(networkPolicy));
when(tungstenTag.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
when(tungstenTag.getVirtualMachineList()).thenReturn(List.of(virtualMachine));
when(tungstenTag.getVirtualMachineInterfaceList()).thenReturn(List.of(virtualMachineInterface));
assertNotNull(tungstenService.removeTungstenTag(1L, List.of("948f421c-edde-4518-a391-09299cc25dc2"), List.of("8b4637b6-5629-46de-8fb2-d0b0502bfa85"), List.of("8d097a79-a38d-4db4-8a41-16f15d9c5afa"), "a329662e-1805-4a89-9b05-2b818ea35978", null, "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_21
Test Case Name: createTungstenAddressGroupTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
SubnetType subnetType = mock(SubnetType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenAddressGroupCommand.class), anyLong())).thenReturn(createTungstenAddressGroupAnswer);
when(createTungstenAddressGroupAnswer.getResult()).thenReturn(true);
when(createTungstenAddressGroupAnswer.getApiObjectBase()).thenReturn(addressGroup);
when(addressGroup.getPrefix()).thenReturn(subnetListType);
when(subnetListType.getSubnet()).thenReturn(List.of(subnetType));
assertNotNull(tungstenService.createTungstenAddressGroup(1L, "test", "192.168.100.0", 24));
}
Original Test Code (click to expand)
@Test
public void createTungstenAddressGroupTest() {
TungstenAnswer createTungstenAddressGroupAnswer = mock(TungstenAnswer.class);
AddressGroup addressGroup = mock(AddressGroup.class);
SubnetListType subnetListType = mock(SubnetListType.class);
SubnetType subnetType = mock(SubnetType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenAddressGroupCommand.class), anyLong())).thenReturn(createTungstenAddressGroupAnswer);
when(createTungstenAddressGroupAnswer.getResult()).thenReturn(true);
when(createTungstenAddressGroupAnswer.getApiObjectBase()).thenReturn(addressGroup);
when(addressGroup.getPrefix()).thenReturn(subnetListType);
when(subnetListType.getSubnet()).thenReturn(List.of(subnetType));
assertNotNull(tungstenService.createTungstenAddressGroup(1L, "test", "192.168.100.0", 24));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_22
Test Case Name: createTungstenServiceGroupTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
PortType portType = mock(PortType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenServiceGroupCommand.class), anyLong())).thenReturn(createTungstenServiceGroupAnswer);
when(createTungstenServiceGroupAnswer.getResult()).thenReturn(true);
when(createTungstenServiceGroupAnswer.getApiObjectBase()).thenReturn(serviceGroup);
when(serviceGroup.getFirewallServiceList()).thenReturn(firewallServiceGroupType);
when(firewallServiceGroupType.getFirewallService()).thenReturn(List.of(firewallServiceType));
when(firewallServiceType.getDstPorts()).thenReturn(portType);
assertNotNull(tungstenService.createTungstenServiceGroup(1L, "test", "tcp", 80, 80));
}
Original Test Code (click to expand)
@Test
public void createTungstenServiceGroupTest() {
TungstenAnswer createTungstenServiceGroupAnswer = mock(TungstenAnswer.class);
ServiceGroup serviceGroup = mock(ServiceGroup.class);
FirewallServiceGroupType firewallServiceGroupType = mock(FirewallServiceGroupType.class);
FirewallServiceType firewallServiceType = mock(FirewallServiceType.class);
PortType portType = mock(PortType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenServiceGroupCommand.class), anyLong())).thenReturn(createTungstenServiceGroupAnswer);
when(createTungstenServiceGroupAnswer.getResult()).thenReturn(true);
when(createTungstenServiceGroupAnswer.getApiObjectBase()).thenReturn(serviceGroup);
when(serviceGroup.getFirewallServiceList()).thenReturn(firewallServiceGroupType);
when(firewallServiceGroupType.getFirewallService()).thenReturn(List.of(firewallServiceType));
when(firewallServiceType.getDstPorts()).thenReturn(portType);
assertNotNull(tungstenService.createTungstenServiceGroup(1L, "test", "tcp", 80, 80));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_23
Test Case Name: createTungstenFirewallRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
FirewallRuleMatchTagsType firewallRuleMatchTagsType = mock(FirewallRuleMatchTagsType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFirewallRuleCommand.class), anyLong())).thenReturn(createTungstenFirewallRuleAnswer);
when(createTungstenFirewallRuleAnswer.getResult()).thenReturn(true);
Original Test Code (click to expand)
@Test
public void createTungstenFirewallRuleTest() {
TungstenAnswer createTungstenFirewallRuleAnswer = mock(TungstenAnswer.class);
net.juniper.tungsten.api.types.FirewallRule firewallRule = mock(net.juniper.tungsten.api.types.FirewallRule.class);
ActionListType actionListType = mock(ActionListType.class);
ObjectReference<ApiPropertyBase> serviceGroup = mock(ObjectReference.class);
FirewallRuleEndpointType firewallRuleEndpointType1 = mock(FirewallRuleEndpointType.class);
FirewallRuleEndpointType firewallRuleEndpointType2 = mock(FirewallRuleEndpointType.class);
FirewallRuleMatchTagsType firewallRuleMatchTagsType = mock(FirewallRuleMatchTagsType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFirewallRuleCommand.class), anyLong())).thenReturn(createTungstenFirewallRuleAnswer);
when(createTungstenFirewallRuleAnswer.getResult()).thenReturn(true);
when(createTungstenFirewallRuleAnswer.getApiObjectBase()).thenReturn(firewallRule);
when(firewallRule.getActionList()).thenReturn(actionListType);
when(actionListType.getSimpleAction()).thenReturn("pass");
when(firewallRule.getServiceGroup()).thenReturn(List.of(serviceGroup));
when(serviceGroup.getReferredName()).thenReturn(List.of("service"));
when(firewallRule.getEndpoint1()).thenReturn(firewallRuleEndpointType1);
when(firewallRule.getEndpoint2()).thenReturn(firewallRuleEndpointType2);
when(firewallRuleEndpointType1.getTags()).thenReturn(List.of("tag"));
when(firewallRuleEndpointType2.getTags()).thenReturn(null);
when(firewallRuleEndpointType2.getAddressGroup()).thenReturn("address:group");
when(firewallRule.getMatchTags()).thenReturn(firewallRuleMatchTagsType);
assertNotNull(tungstenService.createTungstenFirewallRule(1L, "f5ba12c8-d4c5-4c20-a57d-67a9b6fca652", "test", "pass", "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85", "8d097a79-a38d-4db4-8a41-16f15d9c5afa", null, "<>", "a329662e-1805-4a89-9b05-2b818ea35978", "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb", null, "df8e4490-2a40-4d63-a6f3-1f829ffe4fc6", 1));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_24
Test Case Name: createTungstenFirewallPolicyTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFirewallPolicyCommand.class), anyLong())).thenReturn(createTungstenFirewallPolicyAnswer);
when(createTungstenFirewallPolicyAnswer.getResult()).thenReturn(true);
when(createTungstenFirewallPolicyAnswer.getApiObjectBase()).thenReturn(firewallPolicy);
when(firewallPolicy.getFirewallRule()).thenReturn(List.of(firewallSequenceObjectReference));
when(firewallSequenceObjectReference.getReferredName()).thenReturn(List.of("firewallrule"));
assertNotNull(tungstenService.createTungstenFirewallPolicy(1L, "f5ba12c8-d4c5-4c20-a57d-67a9b6fca652", "test", 1));
}
Original Test Code (click to expand)
@Test
public void createTungstenFirewallPolicyTest() {
TungstenAnswer createTungstenFirewallPolicyAnswer = mock(TungstenAnswer.class);
FirewallPolicy firewallPolicy = mock(FirewallPolicy.class);
ObjectReference<FirewallSequence> firewallSequenceObjectReference = mock(ObjectReference.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFirewallPolicyCommand.class), anyLong())).thenReturn(createTungstenFirewallPolicyAnswer);
when(createTungstenFirewallPolicyAnswer.getResult()).thenReturn(true);
when(createTungstenFirewallPolicyAnswer.getApiObjectBase()).thenReturn(firewallPolicy);
when(firewallPolicy.getFirewallRule()).thenReturn(List.of(firewallSequenceObjectReference));
when(firewallSequenceObjectReference.getReferredName()).thenReturn(List.of("firewallrule"));
assertNotNull(tungstenService.createTungstenFirewallPolicy(1L, "f5ba12c8-d4c5-4c20-a57d-67a9b6fca652", "test", 1));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_25
Test Case Name: createTungstenApplicationPolicySetTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenApplicationPolicySetCommand.class), anyLong())).thenReturn(createTungstenApplicationPolicySetAnswer);
when(createTungstenApplicationPolicySetAnswer.getResult()).thenReturn(true);
Original Test Code (click to expand)
@Test
public void createTungstenApplicationPolicySetTest() {
TungstenAnswer createTungstenApplicationPolicySetAnswer = mock(TungstenAnswer.class);
ApplicationPolicySet applicationPolicySet = mock(ApplicationPolicySet.class);
ObjectReference<ApiPropertyBase> objectReference = mock(ObjectReference.class);
ObjectReference<FirewallSequence> firewallSequenceObjectReference = mock(ObjectReference.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenApplicationPolicySetCommand.class), anyLong())).thenReturn(createTungstenApplicationPolicySetAnswer);
when(createTungstenApplicationPolicySetAnswer.getResult()).thenReturn(true);
when(createTungstenApplicationPolicySetAnswer.getApiObjectBase()).thenReturn(applicationPolicySet);
when(applicationPolicySet.getTag()).thenReturn(List.of(objectReference));
when(objectReference.getReferredName()).thenReturn(List.of("tag"));
when(applicationPolicySet.getFirewallPolicy()).thenReturn(List.of(firewallSequenceObjectReference));
when(firewallSequenceObjectReference.getReferredName()).thenReturn(List.of("firewallrule"));
assertNotNull(tungstenService.createTungstenApplicationPolicySet(1L, "test"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_26
Test Case Name: listTungstenApplicationPolicySetTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenApplicationPolicySetCommand.class), anyLong())).thenReturn(listTungstenApplicationPolicySetAnswer);
Original Test Code (click to expand)
@Test
public void listTungstenApplicationPolicySetTest() {
TungstenAnswer listTungstenApplicationPolicySetAnswer = mock(TungstenAnswer.class);
ApplicationPolicySet applicationPolicySet = mock(ApplicationPolicySet.class);
ObjectReference<ApiPropertyBase> objectReference = mock(ObjectReference.class);
ObjectReference<FirewallSequence> firewallSequenceObjectReference = mock(ObjectReference.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenApplicationPolicySetCommand.class), anyLong())).thenReturn(listTungstenApplicationPolicySetAnswer);
when(listTungstenApplicationPolicySetAnswer.getResult()).thenReturn(true);
doReturn(List.of(applicationPolicySet)).when(listTungstenApplicationPolicySetAnswer).getApiObjectBaseList();
when(applicationPolicySet.getTag()).thenReturn(List.of(objectReference));
when(objectReference.getReferredName()).thenReturn(List.of("tag"));
when(applicationPolicySet.getFirewallPolicy()).thenReturn(List.of(firewallSequenceObjectReference));
when(firewallSequenceObjectReference.getReferredName()).thenReturn(List.of("firewallrule"));
assertNotNull(tungstenService.listTungstenApplicationPolicySet(1L, "948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_27
Test Case Name: listTungstenFirewallPolicyTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenFirewallPolicyCommand.class), anyLong())).thenReturn(listTungstenFirewallPolicyAnswer);
Original Test Code (click to expand)
@Test
public void listTungstenFirewallPolicyTest() {
TungstenAnswer listTungstenFirewallPolicyAnswer = mock(TungstenAnswer.class);
FirewallPolicy firewallPolicy = mock(FirewallPolicy.class);
ObjectReference<FirewallSequence> firewallSequenceObjectReference = mock(ObjectReference.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenFirewallPolicyCommand.class), anyLong())).thenReturn(listTungstenFirewallPolicyAnswer);
when(listTungstenFirewallPolicyAnswer.getResult()).thenReturn(true);
doReturn(List.of(firewallPolicy)).when(listTungstenFirewallPolicyAnswer).getApiObjectBaseList();
when(firewallPolicy.getFirewallRule()).thenReturn(List.of(firewallSequenceObjectReference));
when(firewallSequenceObjectReference.getReferredName()).thenReturn(List.of("firewallrule"));
assertNotNull(tungstenService.listTungstenFirewallPolicy(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_28
Test Case Name: listTungstenFirewallRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenFirewallRuleCommand.class), anyLong())).thenReturn(listTungstenFirewallRuleAnswer);
when(listTungstenFirewallRuleAnswer.getResult()).thenReturn(true);
Original Test Code (click to expand)
@Test
public void listTungstenFirewallRuleTest() {
TungstenAnswer listTungstenFirewallRuleAnswer = mock(TungstenAnswer.class);
net.juniper.tungsten.api.types.FirewallRule firewallRule = mock(net.juniper.tungsten.api.types.FirewallRule.class);
ActionListType actionListType = mock(ActionListType.class);
ObjectReference<ApiPropertyBase> serviceGroup = mock(ObjectReference.class);
FirewallRuleEndpointType firewallRuleEndpointType1 = mock(FirewallRuleEndpointType.class);
FirewallRuleEndpointType firewallRuleEndpointType2 = mock(FirewallRuleEndpointType.class);
FirewallRuleMatchTagsType firewallRuleMatchTagsType = mock(FirewallRuleMatchTagsType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenFirewallRuleCommand.class), anyLong())).thenReturn(listTungstenFirewallRuleAnswer);
when(listTungstenFirewallRuleAnswer.getResult()).thenReturn(true);
doReturn(List.of(firewallRule)).when(listTungstenFirewallRuleAnswer).getApiObjectBaseList();
when(firewallRule.getActionList()).thenReturn(actionListType);
when(actionListType.getSimpleAction()).thenReturn("pass");
when(firewallRule.getServiceGroup()).thenReturn(List.of(serviceGroup));
when(serviceGroup.getReferredName()).thenReturn(List.of("service"));
when(firewallRule.getEndpoint1()).thenReturn(firewallRuleEndpointType1);
when(firewallRule.getEndpoint2()).thenReturn(firewallRuleEndpointType2);
when(firewallRuleEndpointType1.getTags()).thenReturn(List.of("tag"));
when(firewallRuleEndpointType2.getTags()).thenReturn(null);
when(firewallRuleEndpointType2.getAddressGroup()).thenReturn("address:group");
when(firewallRule.getMatchTags()).thenReturn(firewallRuleMatchTagsType);
assertNotNull(tungstenService.listTungstenFirewallRule(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_29
Test Case Name: listTungstenAddressGroupTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenAddressGroupCommand.class), anyLong())).thenReturn(listTungstenAddressGroupAnswer);
when(listTungstenAddressGroupAnswer.getResult()).thenReturn(true);
doReturn(List.of(addressGroup)).when(listTungstenAddressGroupAnswer).getApiObjectBaseList();
when(addressGroup.getPrefix()).thenReturn(subnetListType);
when(subnetListType.getSubnet()).thenReturn(List.of(subnetType));
assertNotNull(tungstenService.listTungstenAddressGroup(1L, "948f421c-edde-4518-a391-09299cc25dc2"));
}
Original Test Code (click to expand)
@Test
public void listTungstenAddressGroupTest() {
TungstenAnswer listTungstenAddressGroupAnswer = mock(TungstenAnswer.class);
AddressGroup addressGroup = mock(AddressGroup.class);
SubnetListType subnetListType = mock(SubnetListType.class);
SubnetType subnetType = mock(SubnetType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenAddressGroupCommand.class), anyLong())).thenReturn(listTungstenAddressGroupAnswer);
when(listTungstenAddressGroupAnswer.getResult()).thenReturn(true);
doReturn(List.of(addressGroup)).when(listTungstenAddressGroupAnswer).getApiObjectBaseList();
when(addressGroup.getPrefix()).thenReturn(subnetListType);
when(subnetListType.getSubnet()).thenReturn(List.of(subnetType));
assertNotNull(tungstenService.listTungstenAddressGroup(1L, "948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_30
Test Case Name: listTungstenServiceGroupTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenServiceGroupCommand.class), anyLong())).thenReturn(listTungstenServiceGroupAnswer);
Original Test Code (click to expand)
@Test
public void listTungstenServiceGroupTest() {
TungstenAnswer listTungstenServiceGroupAnswer = mock(TungstenAnswer.class);
ServiceGroup serviceGroup = mock(ServiceGroup.class);
FirewallServiceGroupType firewallServiceGroupType = mock(FirewallServiceGroupType.class);
FirewallServiceType firewallServiceType = mock(FirewallServiceType.class);
PortType portType = mock(PortType.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenServiceGroupCommand.class), anyLong())).thenReturn(listTungstenServiceGroupAnswer);
when(listTungstenServiceGroupAnswer.getResult()).thenReturn(true);
doReturn(List.of(serviceGroup)).when(listTungstenServiceGroupAnswer).getApiObjectBaseList();
when(serviceGroup.getFirewallServiceList()).thenReturn(firewallServiceGroupType);
when(firewallServiceGroupType.getFirewallService()).thenReturn(List.of(firewallServiceType));
when(firewallServiceType.getDstPorts()).thenReturn(portType);
assertNotNull(tungstenService.listTungstenServiceGroup(1L, "948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_31
Test Case Name: addTungstenVmSecurityGroupTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(true);
when(securityGroupManager.getSecurityGroupsForVm(anyLong())).thenReturn(List.of(securityGroupVO));
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
Original Test Code (click to expand)
@Test
public void addTungstenVmSecurityGroupTest() {
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer getTungstenSecurityGroupAnswer = mock(TungstenAnswer.class);
TungstenAnswer addTungstenVmToSecurityGroupAnswer = mock(TungstenAnswer.class);
net.juniper.tungsten.api.types.SecurityGroup securityGroup = mock(net.juniper.tungsten.api.types.SecurityGroup.class);
NicVO nicVO = mock(NicVO.class);
SecurityGroupRuleVO securityGroupRuleVO = mock(SecurityGroupRuleVO.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(true);
when(securityGroupManager.getSecurityGroupsForVm(anyLong())).thenReturn(List.of(securityGroupVO));
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenSecurityGroupCommand.class), anyLong())).thenReturn(getTungstenSecurityGroupAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenVmToSecurityGroupCommand.class), anyLong())).thenReturn(addTungstenVmToSecurityGroupAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(getTungstenSecurityGroupAnswer.getResult()).thenReturn(true);
when(addTungstenVmToSecurityGroupAnswer.getResult()).thenReturn(true);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(getTungstenSecurityGroupAnswer.getApiObjectBase()).thenReturn(securityGroup);
when(nicDao.findDefaultNicForVM(anyLong())).thenReturn(nicVO);
when(nicVO.getBroadcastUri()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"));
when(securityGroupRuleDao.listByAllowedSecurityGroupId(anyLong())).thenReturn(List.of(securityGroupRuleVO));
when(nicVO.getIPv4Address()).thenReturn("192.168.100.100");
when(nicVO.getIPv6Address()).thenReturn("fd00::1");
when(nicVO.getSecondaryIp()).thenReturn(true);
when(nicSecIpDao.getSecondaryIpAddressesForNic(anyLong())).thenReturn(List.of("192.168.100.200"));
when(securityGroupRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(tungstenSecurityGroupRuleDao.persist(any(TungstenSecurityGroupRuleVO.class))).thenReturn(tungstenSecurityGroupRuleVO);
assertTrue(tungstenService.addTungstenVmSecurityGroup(vmInstanceVO));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_32
Test Case Name: removeTungstenVmSecurityGroupTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(true);
when(securityGroupManager.getSecurityGroupsForVm(anyLong())).thenReturn(List.of(securityGroupVO));
@@
Original Test Code (click to expand)
@Test
public void removeTungstenVmSecurityGroupTest() {
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenAnswer removeTungstenVmFromSecurityGroupAnswer = mock(TungstenAnswer.class);
NicVO nicVO = mock(NicVO.class);
SecurityGroupRuleVO securityGroupRuleVO = mock(SecurityGroupRuleVO.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(true);
when(securityGroupManager.getSecurityGroupsForVm(anyLong())).thenReturn(List.of(securityGroupVO));
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenVmFromSecurityGroupCommand.class), anyLong())).thenReturn(removeTungstenVmFromSecurityGroupAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(removeTungstenVmFromSecurityGroupAnswer.getResult()).thenReturn(true);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(nicDao.findDefaultNicForVM(anyLong())).thenReturn(nicVO);
when(nicVO.getBroadcastUri()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"));
when(securityGroupRuleDao.listByAllowedSecurityGroupId(anyLong())).thenReturn(List.of(securityGroupRuleVO));
when(nicVO.getIPv4Address()).thenReturn("192.168.100.100");
when(nicVO.getIPv6Address()).thenReturn("fd00::1");
when(nicVO.getSecondaryIp()).thenReturn(true);
when(nicSecIpDao.getSecondaryIpAddressesForNic(anyLong())).thenReturn(List.of("192.168.100.200"));
when(securityGroupRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(tungstenSecurityGroupRuleDao.expunge(anyLong())).thenReturn(true);
when(tungstenSecurityGroupRuleDao.listByRuleTarget(anyString())).thenReturn(List.of(tungstenSecurityGroupRuleVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
assertTrue(tungstenService.removeTungstenVmSecurityGroup(vmInstanceVO));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_33
Test Case Name: createRoutingLogicalRouterTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenRoutingLogicalRouterCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
when(tungstenAnswer.getTungstenModel()).thenReturn(tungstenLogicalRouter);
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.createRoutingLogicalRouter(1L, "default-domain:default-project", "testLR"));
}
Original Test Code (click to expand)
@Test
public void createRoutingLogicalRouterTest() {
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
TungstenLogicalRouter tungstenLogicalRouter = mock(TungstenLogicalRouter.class);
LogicalRouter logicalRouter = mock(LogicalRouter.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenRoutingLogicalRouterCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
when(tungstenAnswer.getTungstenModel()).thenReturn(tungstenLogicalRouter);
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.createRoutingLogicalRouter(1L, "default-domain:default-project", "testLR"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_34
Test Case Name: addNetworkGatewayToLogicalRouterTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(networkDao.findByUuid(anyString())).thenReturn(networkVO);
when(ipAddressManager.acquireLastGuestIpAddress(any(Network.class))).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkGatewayToLogicalRouterCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
when(tungstenAnswer.getTungstenModel()).thenReturn(tungstenLogicalRouter);
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.addNetworkGatewayToLogicalRouter(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
}
Original Test Code (click to expand)
@Test
public void addNetworkGatewayToLogicalRouterTest() {
NetworkVO networkVO = mock(NetworkVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
TungstenLogicalRouter tungstenLogicalRouter = mock(TungstenLogicalRouter.class);
LogicalRouter logicalRouter = mock(LogicalRouter.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(networkDao.findByUuid(anyString())).thenReturn(networkVO);
when(ipAddressManager.acquireLastGuestIpAddress(any(Network.class))).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkGatewayToLogicalRouterCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
when(tungstenAnswer.getTungstenModel()).thenReturn(tungstenLogicalRouter);
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.addNetworkGatewayToLogicalRouter(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_35
Test Case Name: listRoutingLogicalRouterTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenRoutingLogicalRouterCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
Original Test Code (click to expand)
@Test
public void listRoutingLogicalRouterTest() {
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
TungstenLogicalRouter tungstenLogicalRouter = mock(TungstenLogicalRouter.class);
LogicalRouter logicalRouter = mock(LogicalRouter.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenRoutingLogicalRouterCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
when(tungstenAnswer.getTungstenModelList()).thenReturn(List.of(tungstenLogicalRouter));
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.listRoutingLogicalRouter(1L, null, "948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Test Case ID #cloudstack_Test_157_36
Test Case Name: removeNetworkGatewayFromLogicalRouterTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenterDao
Suggested Diff
@@
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenLogicalRouter tungstenLogicalRouter = mock(TungstenLogicalRouter.class);
LogicalRouter logicalRouter = mock(LogicalRouter.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
- DataCenterVO dataCenterVO = mock(DataCenterVO.class);
- when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
+ dataCenterDao = MockDataCenterDao.createMockDataCenterDao(dataCenterVO);
when(networkDao.findByUuid(anyString())).thenReturn(networkVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkAndLogicalRouter(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkGatewayFromLogicalRouterCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
when(tungstenAnswer.getTungstenModel()).thenReturn(tungstenLogicalRouter);
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.removeNetworkGatewayFromLogicalRouter(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
}
Original Test Code (click to expand)
@Test
public void removeNetworkGatewayFromLogicalRouterTest() {
NetworkVO networkVO = mock(NetworkVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenLogicalRouter tungstenLogicalRouter = mock(TungstenLogicalRouter.class);
LogicalRouter logicalRouter = mock(LogicalRouter.class);
VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
when(networkDao.findByUuid(anyString())).thenReturn(networkVO);
when(tungstenGuestNetworkIpAddressDao.findByNetworkAndLogicalRouter(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkGatewayFromLogicalRouterCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
when(tungstenAnswer.getTungstenModel()).thenReturn(tungstenLogicalRouter);
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
assertNotNull(tungstenService.removeNetworkGatewayFromLogicalRouter(1L, "948f421c-edde-4518-a391-09299cc25dc2", "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenterVO dataCenterVO) {
DataCenterDao dataCenterDao = mock(DataCenterDao.class);
when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
return dataCenterDao;
}
}
Mock Clone Instance #cloudstack_MCI_158
- Scope: class level
- Mocked Class:
DataCenterDao
- Test Case Count: 5
- MO Count: 5
Reusable Method
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenter _dcMock) {
DataCenterDao _dcDao = Mockito.mock(DataCenterDao.class);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
return _dcDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_158_1
Test Case Name: beforeTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: _dcDao
Suggested Diff
@@
Mockito.when(updateVmCommand.getId()).thenReturn(vmId);
- when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
Mockito.when(userVmDao.findById(vmId)).thenReturn(userVmVoMock);
Mockito.when(callerAccount.getType()).thenReturn(Account.Type.ADMIN);
@@
CallContext.register(callerUser, callerAccount);
customParameters.put(VmDetailConstants.ROOT_DISK_SIZE, "123");
lenient().doNothing().when(resourceLimitMgr).incrementResourceCount(anyLong(), any(Resource.ResourceType.class));
lenient().doNothing().when(resourceLimitMgr).decrementResourceCount(anyLong(), any(Resource.ResourceType.class), anyLong());
@@
-when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
+_dcDao = MockDataCenterDao.createMockDataCenterDao(_dcMock);
Original Test Code (click to expand)
@Before
public void beforeTest() {
Mockito.when(updateVmCommand.getId()).thenReturn(vmId);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
Mockito.when(userVmDao.findById(vmId)).thenReturn(userVmVoMock);
Mockito.when(callerAccount.getType()).thenReturn(Account.Type.ADMIN);
CallContext.register(callerUser, callerAccount);
customParameters.put(VmDetailConstants.ROOT_DISK_SIZE, "123");
lenient().doNothing().when(resourceLimitMgr).incrementResourceCount(anyLong(), any(Resource.ResourceType.class));
lenient().doNothing().when(resourceLimitMgr).decrementResourceCount(anyLong(), any(Resource.ResourceType.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenter _dcMock) {
DataCenterDao _dcDao = Mockito.mock(DataCenterDao.class);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
return _dcDao;
}
}
Test Case ID #cloudstack_Test_158_2
Test Case Name: testUpdateVmNicIpSuccess1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerTest.java)
Mock Object Variable Name: _dcDao
Suggested Diff
@@
when(_networkMock.getGuestType()).thenReturn(GuestType.Isolated);
- when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
+ _dcDao = MockDataCenterDao.createMockDataCenterDao(_dcMock);
when(_dcMock.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_ipAddrMgr.allocateGuestIP(Mockito.eq(_networkMock), anyString())).thenReturn("10.10.10.10");
@@
Original Test Code (click to expand)
@Test
public void testUpdateVmNicIpSuccess1() throws Exception {
UpdateVmNicIpCmd cmd = new UpdateVmNicIpCmd();
Class<?> _class = cmd.getClass();
Field virtualmachineIdField = _class.getDeclaredField("nicId");
virtualmachineIdField.setAccessible(true);
virtualmachineIdField.set(cmd, 1L);
Field accountNameField = _class.getDeclaredField("ipAddr");
accountNameField.setAccessible(true);
accountNameField.set(cmd, "10.10.10.10");
NicVO nic = new NicVO("nic", 1L, 2L, VirtualMachine.Type.User);
when(_nicDao.findById(anyLong())).thenReturn(nic);
when(_vmDao.findById(anyLong())).thenReturn(_vmMock);
when(_networkDao.findById(anyLong())).thenReturn(_networkMock);
doReturn(9L).when(_networkMock).getNetworkOfferingId();
when(_networkOfferingDao.findByIdIncludingRemoved(anyLong())).thenReturn(_networkOfferingMock);
doReturn(10L).when(_networkOfferingMock).getId();
List<Service> services = new ArrayList<Service>();
services.add(Service.Dhcp);
when(_networkModel.listNetworkOfferingServices(anyLong())).thenReturn(services);
when(_vmMock.getState()).thenReturn(State.Stopped);
lenient().doNothing().when(_accountMgr).checkAccess(_account, null, true, _vmMock);
when(_accountDao.findByIdIncludingRemoved(anyLong())).thenReturn(_accountMock);
when(_networkMock.getState()).thenReturn(Network.State.Implemented);
when(_networkMock.getDataCenterId()).thenReturn(3L);
when(_networkMock.getGuestType()).thenReturn(GuestType.Isolated);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
when(_dcMock.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_ipAddrMgr.allocateGuestIP(Mockito.eq(_networkMock), anyString())).thenReturn("10.10.10.10");
when(_nicDao.persist(any(NicVO.class))).thenReturn(nic);
Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString());
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
CallContext.register(user, caller);
try {
_userVmMgr.updateNicIpForVirtualMachine(cmd);
} finally {
CallContext.unregister();
}
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenter _dcMock) {
DataCenterDao _dcDao = Mockito.mock(DataCenterDao.class);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
return _dcDao;
}
}
Test Case ID #cloudstack_Test_158_3
Test Case Name: testUpdateVmNicIpSuccess2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerTest.java)
Mock Object Variable Name: _dcDao
Suggested Diff
@@
when(_networkMock.getGuestType()).thenReturn(GuestType.Shared);
- when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
+ _dcDao = MockDataCenterDao.createMockDataCenterDao(_dcMock);
when(_dcMock.getNetworkType()).thenReturn(NetworkType.Advanced);
IPAddressVO newIp = mock(IPAddressVO.class);
@@
Original Test Code (click to expand)
@Test
public void testUpdateVmNicIpSuccess2() throws Exception {
UpdateVmNicIpCmd cmd = new UpdateVmNicIpCmd();
Class<?> _class = cmd.getClass();
Field virtualmachineIdField = _class.getDeclaredField("nicId");
virtualmachineIdField.setAccessible(true);
virtualmachineIdField.set(cmd, 1L);
Field accountNameField = _class.getDeclaredField("ipAddr");
accountNameField.setAccessible(true);
accountNameField.set(cmd, "10.10.10.10");
NicVO nic = new NicVO("nic", 1L, 2L, VirtualMachine.Type.User);
when(_nicDao.findById(anyLong())).thenReturn(nic);
nic.setIPv4Address("10.10.10.9");
when(_vmDao.findById(anyLong())).thenReturn(_vmMock);
when(_networkDao.findById(anyLong())).thenReturn(_networkMock);
doReturn(9L).when(_networkMock).getNetworkOfferingId();
when(_networkOfferingDao.findByIdIncludingRemoved(anyLong())).thenReturn(_networkOfferingMock);
doReturn(10L).when(_networkOfferingMock).getId();
List<Service> services = new ArrayList<Service>();
when(_networkModel.listNetworkOfferingServices(anyLong())).thenReturn(services);
lenient().when(_vmMock.getState()).thenReturn(State.Running);
lenient().doNothing().when(_accountMgr).checkAccess(_account, null, true, _vmMock);
when(_accountDao.findByIdIncludingRemoved(anyLong())).thenReturn(_accountMock);
when(_networkMock.getState()).thenReturn(Network.State.Implemented);
when(_networkMock.getDataCenterId()).thenReturn(3L);
when(_networkMock.getGuestType()).thenReturn(GuestType.Shared);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
when(_dcMock.getNetworkType()).thenReturn(NetworkType.Advanced);
IPAddressVO newIp = mock(IPAddressVO.class);
when(newIp.getVlanId()).thenReturn(1L);
VlanVO vlan = mock(VlanVO.class);
when(vlan.getVlanGateway()).thenReturn("10.10.10.1");
when(vlan.getVlanNetmask()).thenReturn("255.255.255.0");
when(_ipAddrMgr.allocatePublicIpForGuestNic(Mockito.eq(_networkMock), nullable(Long.class), Mockito.eq(_accountMock), anyString())).thenReturn("10.10.10.10");
when(_ipAddressDao.findByIpAndSourceNetworkId(anyLong(), eq("10.10.10.10"))).thenReturn(newIp);
when(_ipAddressDao.findByIpAndSourceNetworkId(anyLong(), eq("10.10.10.9"))).thenReturn(null);
when(_nicDao.persist(any(NicVO.class))).thenReturn(nic);
when(_vlanDao.findById(anyLong())).thenReturn(vlan);
Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString());
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
CallContext.register(user, caller);
try {
_userVmMgr.updateNicIpForVirtualMachine(cmd);
} finally {
CallContext.unregister();
}
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenter _dcMock) {
DataCenterDao _dcDao = Mockito.mock(DataCenterDao.class);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
return _dcDao;
}
}
Test Case ID #cloudstack_Test_158_4
Test Case Name: testUpdateVmNicIpFailure2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerTest.java)
Mock Object Variable Name: _dcDao
Suggested Diff
@@
when(_networkMock.getGuestType()).thenReturn(GuestType.Isolated);
- when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
+ _dcDao = MockDataCenterDao.createMockDataCenterDao(_dcMock);
when(_dcMock.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_ipAddrMgr.allocateGuestIP(Mockito.eq(_networkMock), anyString())).thenReturn(null);
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testUpdateVmNicIpFailure2() throws Exception {
UpdateVmNicIpCmd cmd = new UpdateVmNicIpCmd();
Class<?> _class = cmd.getClass();
Field virtualmachineIdField = _class.getDeclaredField("nicId");
virtualmachineIdField.setAccessible(true);
virtualmachineIdField.set(cmd, 1L);
Field accountNameField = _class.getDeclaredField("ipAddr");
accountNameField.setAccessible(true);
accountNameField.set(cmd, "10.10.10.10");
NicVO nic = new NicVO("nic", 1L, 2L, VirtualMachine.Type.User);
when(_nicDao.findById(anyLong())).thenReturn(nic);
when(_vmDao.findById(anyLong())).thenReturn(_vmMock);
when(_networkDao.findById(anyLong())).thenReturn(_networkMock);
doReturn(9L).when(_networkMock).getNetworkOfferingId();
when(_networkOfferingDao.findByIdIncludingRemoved(anyLong())).thenReturn(_networkOfferingMock);
doReturn(10L).when(_networkOfferingMock).getId();
List<Service> services = new ArrayList<Service>();
services.add(Service.Dhcp);
when(_networkModel.listNetworkOfferingServices(anyLong())).thenReturn(services);
when(_vmMock.getState()).thenReturn(State.Stopped);
lenient().doNothing().when(_accountMgr).checkAccess(_account, null, true, _vmMock);
when(_accountDao.findByIdIncludingRemoved(anyLong())).thenReturn(_accountMock);
when(_networkMock.getState()).thenReturn(Network.State.Implemented);
when(_networkMock.getDataCenterId()).thenReturn(3L);
when(_networkMock.getGuestType()).thenReturn(GuestType.Isolated);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
when(_dcMock.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_ipAddrMgr.allocateGuestIP(Mockito.eq(_networkMock), anyString())).thenReturn(null);
Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString());
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
CallContext.register(user, caller);
try {
_userVmMgr.updateNicIpForVirtualMachine(cmd);
} finally {
CallContext.unregister();
}
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenter _dcMock) {
DataCenterDao _dcDao = Mockito.mock(DataCenterDao.class);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
return _dcDao;
}
}
Test Case ID #cloudstack_Test_158_5
Test Case Name: testUpdateVmNicIpFailure3(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerTest.java)
Mock Object Variable Name: _dcDao
Suggested Diff
@@
when(_networkMock.getGuestType()).thenReturn(GuestType.Shared);
- when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
+ _dcDao = MockDataCenterDao.createMockDataCenterDao(_dcMock);
when(_dcMock.getNetworkType()).thenReturn(NetworkType.Advanced);
lenient().when(_ipAddrMgr.allocatePublicIpForGuestNic(Mockito.eq(_networkMock), anyLong(), Mockito.eq(_accountMock), anyString())).thenReturn(null);
Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString());
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testUpdateVmNicIpFailure3() throws Exception {
UpdateVmNicIpCmd cmd = new UpdateVmNicIpCmd();
Class<?> _class = cmd.getClass();
Field virtualmachineIdField = _class.getDeclaredField("nicId");
virtualmachineIdField.setAccessible(true);
virtualmachineIdField.set(cmd, 1L);
Field accountNameField = _class.getDeclaredField("ipAddr");
accountNameField.setAccessible(true);
accountNameField.set(cmd, "10.10.10.10");
NicVO nic = new NicVO("nic", 1L, 2L, VirtualMachine.Type.User);
when(_nicDao.findById(anyLong())).thenReturn(nic);
when(_vmDao.findById(anyLong())).thenReturn(_vmMock);
when(_networkDao.findById(anyLong())).thenReturn(_networkMock);
doReturn(9L).when(_networkMock).getNetworkOfferingId();
when(_networkOfferingDao.findByIdIncludingRemoved(anyLong())).thenReturn(_networkOfferingMock);
doReturn(10L).when(_networkOfferingMock).getId();
List<Service> services = new ArrayList<Service>();
services.add(Service.Dhcp);
when(_networkModel.listNetworkOfferingServices(anyLong())).thenReturn(services);
when(_vmMock.getState()).thenReturn(State.Stopped);
lenient().doNothing().when(_accountMgr).checkAccess(_account, null, true, _vmMock);
when(_accountDao.findByIdIncludingRemoved(anyLong())).thenReturn(_accountMock);
when(_networkMock.getState()).thenReturn(Network.State.Implemented);
when(_networkMock.getDataCenterId()).thenReturn(3L);
when(_networkMock.getGuestType()).thenReturn(GuestType.Shared);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
when(_dcMock.getNetworkType()).thenReturn(NetworkType.Advanced);
lenient().when(_ipAddrMgr.allocatePublicIpForGuestNic(Mockito.eq(_networkMock), anyLong(), Mockito.eq(_accountMock), anyString())).thenReturn(null);
Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString());
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
CallContext.register(user, caller);
try {
_userVmMgr.updateNicIpForVirtualMachine(cmd);
} finally {
CallContext.unregister();
}
}
Reusable Method for MCI (click to expand)
public class MockDataCenterDao {
public static DataCenterDao createMockDataCenterDao(DataCenter _dcMock) {
DataCenterDao _dcDao = Mockito.mock(DataCenterDao.class);
when(_dcDao.findById(anyLong())).thenReturn(_dcMock);
return _dcDao;
}
}
Mock Clone Instance #cloudstack_MCI_159
- Scope: method level
- Mocked Class:
com.cloud.deploy.DeployDestination
- Test Case Count: 4
- MO Count: 4
Reusable Method
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination
The refactoring details in each test cases
Test Case ID #cloudstack_Test_159_1
Test Case Name: preparePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: deployDestination
Suggested Diff
@@
@Test
public void preparePublicNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
- DeployDestination deployDestination = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `deployDestination`
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Original Test Code (click to expand)
@Test
public void preparePublicNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination
Test Case ID #cloudstack_Test_159_2
Test Case Name: prepareManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: deployDestination
Suggested Diff
@@
@Test
public void prepareManagementNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
- DeployDestination deployDestination = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `deployDestination`
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Original Test Code (click to expand)
@Test
public void prepareManagementNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination
Test Case ID #cloudstack_Test_159_3
Test Case Name: prepareWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: deployDestination
Suggested Diff
@@
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
- DeployDestination deployDestination = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `deployDestination`
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
@@
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
- tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
+ tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void prepareWithExceptionTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
}
Reusable Method for MCI (click to expand)
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination
Test Case ID #cloudstack_Test_159_4
Test Case Name: prepareMigrationTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
@Test
public void prepareMigrationTest() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
- DeployDestination dest = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `deployDestination`
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
- assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
+ assertTrue(tungstenElement.prepareMigration(nic, network, vm, deployDestination, context));
}
Original Test Code (click to expand)
@Test
public void prepareMigrationTest() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
DeployDestination dest = mock(DeployDestination.class);
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
}
Reusable Method for MCI (click to expand)
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination
Mock Clone Instance #cloudstack_MCI_160
- Scope: method level
- Mocked Class:
com.cloud.deploy.DeployDestination
- Test Case Count: 5
- MO Count: 5
Reusable Method
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_160_1
Test Case Name: testImplementGuestNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: deployDestination
Suggested Diff
@@
@Test
public void testImplementGuestNetwork() {
final Network network = mock(Network.class);
- final DeployDestination deployDestination = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `deployDestination`
final ReservationContext reservationContext = mock(ReservationContext.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
Original Test Code (click to expand)
@Test
public void testImplementGuestNetwork() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getNetworkOfferingId()).thenReturn(1L);
when(network.getState()).thenReturn(Network.State.Implementing);
when(network.getDataCenterId()).thenReturn(2L);
when(network.getPhysicalNetworkId()).thenReturn(3L);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(network)).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new LogicalRouter(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, "192.168.1.100"));
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenService.allocateDnsIpAddress(any(Network.class), any(), anyString())).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), implemented.getBroadcastUri());
assertEquals("192.168.1.1", implemented.getGateway());
assertEquals("192.168.1.0/24", implemented.getCidr());
assertEquals(Networks.Mode.Dhcp, implemented.getMode());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, implemented.getBroadcastDomainType());
assertEquals(1L, implemented.getNetworkOfferingId());
assertEquals(Network.State.Implemented, implemented.getState());
assertEquals(2L, implemented.getDataCenterId());
assertEquals(3L, implemented.getPhysicalNetworkId().longValue());
assertFalse(implemented.isRedundant());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenLogicalRouterCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(GetTungstenNatIpCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(SetTungstenNetworkGatewayCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination;
Test Case ID #cloudstack_Test_160_2
Test Case Name: testImplementSharedNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: deployDestination
Suggested Diff
@@
@Test
public void testImplementSharedNetwork() {
final Network network = mock(Network.class);
- final DeployDestination deployDestination = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `deployDestination`
final ReservationContext reservationContext = mock(ReservationContext.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getNetworkOfferingId()).thenReturn(1L);
when(network.getState()).thenReturn(Network.State.Implementing);
when(network.getDataCenterId()).thenReturn(2L);
when(network.getPhysicalNetworkId()).thenReturn(3L);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Shared);
when(vlanDao.listVlansByNetworkId(anyLong())).thenReturn(List.of(new VlanVO()));
when(tungstenService.createSharedNetwork(any(Network.class), any(VlanVO.class))).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), implemented.getBroadcastUri());
assertEquals("192.168.1.1", implemented.getGateway());
assertEquals("192.168.1.0/24", implemented.getCidr());
assertEquals(Networks.Mode.Dhcp, implemented.getMode());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, implemented.getBroadcastDomainType());
assertEquals(1L, implemented.getNetworkOfferingId());
assertEquals(Network.State.Implemented, implemented.getState());
assertEquals(2L, implemented.getDataCenterId());
assertEquals(3L, implemented.getPhysicalNetworkId().longValue());
assertFalse(implemented.isRedundant());
}
Original Test Code (click to expand)
@Test
public void testImplementSharedNetwork() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getNetworkOfferingId()).thenReturn(1L);
when(network.getState()).thenReturn(Network.State.Implementing);
when(network.getDataCenterId()).thenReturn(2L);
when(network.getPhysicalNetworkId()).thenReturn(3L);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Shared);
when(vlanDao.listVlansByNetworkId(anyLong())).thenReturn(List.of(new VlanVO()));
when(tungstenService.createSharedNetwork(any(Network.class), any(VlanVO.class))).thenReturn(true);
final Network implemented = guru.implement(network, offering, deployDestination, reservationContext);
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), implemented.getBroadcastUri());
assertEquals("192.168.1.1", implemented.getGateway());
assertEquals("192.168.1.0/24", implemented.getCidr());
assertEquals(Networks.Mode.Dhcp, implemented.getMode());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, implemented.getBroadcastDomainType());
assertEquals(1L, implemented.getNetworkOfferingId());
assertEquals(Network.State.Implemented, implemented.getState());
assertEquals(2L, implemented.getDataCenterId());
assertEquals(3L, implemented.getPhysicalNetworkId().longValue());
assertFalse(implemented.isRedundant());
}
Reusable Method for MCI (click to expand)
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination;
Test Case ID #cloudstack_Test_160_3
Test Case Name: testImplementWithException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: deployDestination
Suggested Diff
@@
@Test(expected = CloudRuntimeException.class)
public void testImplementWithException() {
final Network network = mock(Network.class);
- final DeployDestination deployDestination = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `deployDestination`
final ReservationContext reservationContext = mock(ReservationContext.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getState()).thenReturn(Network.State.Implementing);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(any(Network.class))).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new IOException()));
- guru.implement(network, offering, deployDestination, reservationContext);
+ guru.implement(network, offering, deployDestination, reservationContext);
}
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testImplementWithException() {
final Network network = mock(Network.class);
final DeployDestination deployDestination = mock(DeployDestination.class);
final ReservationContext reservationContext = mock(ReservationContext.class);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
when(network.getGateway()).thenReturn("192.168.1.1");
when(network.getCidr()).thenReturn("192.168.1.0/24");
when(network.getBroadcastDomainType()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN);
when(network.getState()).thenReturn(Network.State.Implementing);
when(offering.isRedundantRouter()).thenReturn(false);
when(offering.getGuestType()).thenReturn(Network.GuestType.Isolated);
when(tungstenService.getTungstenProjectFqn(any(Network.class))).thenReturn("default-domain:default-project");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), new IOException()));
guru.implement(network, offering, deployDestination, reservationContext);
}
Reusable Method for MCI (click to expand)
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination;
Test Case ID #cloudstack_Test_160_4
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
- final DeployDestination dest = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `deployDestination`
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
- guru.reserve(nic, network, vm, dest, context);
+ guru.reserve(nic, network, vm, deployDestination, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
guru.reserve(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination;
Test Case ID #cloudstack_Test_160_5
Test Case Name: testPrepareMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
@Test
public void testPrepareMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
- final DeployDestination dest = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `deployDestination`
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
- guru.prepareMigration(nic, network, vm, dest, context);
+ guru.prepareMigration(nic, network, vm, deployDestination, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Original Test Code (click to expand)
@Test
public void testPrepareMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
private DeployDestination deployDestination;
@BeforeEach
public void setUp() {
deployDestination = mock(DeployDestination.class);
}
deployDestination;
Mock Clone Instance #cloudstack_MCI_161
- Scope: class level
- Mocked Class:
com.cloud.deploy.DeployDestination
- Test Case Count: 5
- MO Count: 9
Reusable Method
public class MockDeployDestination {
public static DeployDestination createMockDeployDestination(DataCenter dataCenter) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dataCenter);
return dest;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_161_1
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
- final DeployDestination dest = mock(DeployDestination.class);
- final DataCenter dc = mock(DataCenter.class);
- when(dest.getDataCenter()).thenReturn(dc);
+ final DataCenter dc = mock(DataCenter.class);
+ final DeployDestination dest = MockDeployDestination.createMockDeployDestination(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDeployDestination {
public static DeployDestination createMockDeployDestination(DataCenter dataCenter) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dataCenter);
return dest;
}
}
Test Case ID #cloudstack_Test_161_2
Test Case Name: testImplementFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
- final DeployDestination dest = mock(DeployDestination.class);
- final DataCenter dc = mock(DataCenter.class);
- when(dest.getDataCenter()).thenReturn(dc);
+ final DataCenter dc = mock(DataCenter.class);
+ final DeployDestination dest = MockDeployDestination.createMockDeployDestination(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
@@
Original Test Code (click to expand)
@Test
public void testImplementFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDeployDestination {
public static DeployDestination createMockDeployDestination(DataCenter dataCenter) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dataCenter);
return dest;
}
}
Test Case ID #cloudstack_Test_161_3
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
- final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
- when(dest.getDataCenter()).thenReturn(dc);
+ final DeployDestination dest = MockDeployDestination.createMockDeployDestination(dc);
final HostVO niciraHost = mock(HostVO.class);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDeployDestination {
public static DeployDestination createMockDeployDestination(DataCenter dataCenter) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dataCenter);
return dest;
}
}
Test Case ID #cloudstack_Test_161_4
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
- final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
+ final DeployDestination dest = MockDeployDestination.createMockDeployDestination(dc);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDeployDestination {
public static DeployDestination createMockDeployDestination(DataCenter dataCenter) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dataCenter);
return dest;
}
}
Test Case ID #cloudstack_Test_161_5
Test Case Name: testImplementURIException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
- final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
- when(dest.getDataCenter()).thenReturn(dc);
+ final DeployDestination dest = MockDeployDestination.createMockDeployDestination(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
@@
Original Test Code (click to expand)
@Test
public void testImplementURIException() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDeployDestination {
public static DeployDestination createMockDeployDestination(DataCenter dataCenter) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dataCenter);
return dest;
}
}
Test Case ID #cloudstack_Test_161_6
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(netdao.findById(NETWORK_ID)).thenReturn(network);
- final DeployDestination dest = mock(DeployDestination.class);
- final DataCenter dc = mock(DataCenter.class);
- when(dest.getDataCenter()).thenReturn(dc);
+ final DataCenter dc = mock(DataCenter.class);
+ final DeployDestination dest = MockDeployDestination.createMockDeployDestination(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
@@
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(netdao.findById(NETWORK_ID)).thenReturn(network);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final DeleteLogicalSwitchAnswer answer = mock(DeleteLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(NETWORK_ID);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("lswitch:aaaa"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockDeployDestination {
public static DeployDestination createMockDeployDestination(DataCenter dataCenter) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dataCenter);
return dest;
}
}
Test Case ID #cloudstack_Test_161_7
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(network.getPhysicalNetworkId()).thenReturn(42L);
- DeployDestination dest = mock(DeployDestination.class);
- DataCenter dc = mock(DataCenter.class);
- when(dest.getDataCenter()).thenReturn(dc);
+ DataCenter dc = mock(DataCenter.class);
+ DeployDestination dest = MockDeployDestination.createMockDeployDestination(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
//TODO(VXLAN): doesn't support VNI specified
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
}
Reusable Method for MCI (click to expand)
public class MockDeployDestination {
public static DeployDestination createMockDeployDestination(DataCenter dataCenter) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dataCenter);
return dest;
}
}
Test Case ID #cloudstack_Test_161_8
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(network.getPhysicalNetworkId()).thenReturn(42L);
- DeployDestination dest = mock(DeployDestination.class);
- DataCenter dc = mock(DataCenter.class);
- when(dest.getDataCenter()).thenReturn(dc);
+ DataCenter dc = mock(DataCenter.class);
+ DeployDestination dest = MockDeployDestination.createMockDeployDestination(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
//TODO(VXLAN): doesn't support VNI specified
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
}
Reusable Method for MCI (click to expand)
public class MockDeployDestination {
public static DeployDestination createMockDeployDestination(DataCenter dataCenter) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dataCenter);
return dest;
}
}
Test Case ID #cloudstack_Test_161_9
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(netdao.findById(42L)).thenReturn(network);
- DeployDestination dest = mock(DeployDestination.class);
- DataCenter dc = mock(DataCenter.class);
- when(dest.getDataCenter()).thenReturn(dc);
+ DataCenter dc = mock(DataCenter.class);
+ DeployDestination dest = MockDeployDestination.createMockDeployDestination(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
Domain dom = mock(Domain.class);
@@
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vxlan);
when(network.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(network.getPhysicalNetworkId()).thenReturn(42L);
when(netdao.findById(42L)).thenReturn(network);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(42L);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockDeployDestination {
public static DeployDestination createMockDeployDestination(DataCenter dataCenter) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dataCenter);
return dest;
}
}
Mock Clone Instance #cloudstack_MCI_162
- Scope: method level
- Mocked Class:
com.cloud.deploy.DeployDestination
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static DeployDestination createMockDeployDestination(DataCenterVO dc) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dc);
return dest;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_162_1
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
- final DeployDestination dest = mock(DeployDestination.class);
- final DataCenterVO dc = mock(DataCenterVO.class);
- when(dest.getDataCenter()).thenReturn(dc);
+ final DataCenterVO dc = mock(DataCenterVO.class);
+ final DeployDestination dest = createMockDeployDestination(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
@@
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private static DeployDestination createMockDeployDestination(DataCenterVO dc) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dc);
return dest;
}
Test Case ID #cloudstack_Test_162_2
Test Case Name: testReserveFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
- final DeployDestination dest = mock(DeployDestination.class);
- final DataCenterVO dc = mock(DataCenterVO.class);
- when(dest.getDataCenter()).thenReturn(dc);
+ final DataCenterVO dc = mock(DataCenterVO.class);
+ final DeployDestination dest = createMockDeployDestination(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
@@
Original Test Code (click to expand)
@Test
public void testReserveFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private static DeployDestination createMockDeployDestination(DataCenterVO dc) {
DeployDestination dest = mock(DeployDestination.class);
when(dest.getDataCenter()).thenReturn(dc);
return dest;
}
Mock Clone Instance #cloudstack_MCI_163
- Scope: method level
- Mocked Class:
com.cloud.deploy.DeployDestination
- Test Case Count: 4
- MO Count: 4
Reusable Method
private DeployDestination dest;
@BeforeEach
public void setUp() {
dest = mock(DeployDestination.class);
}
dest;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_163_1
Test Case Name: implementIsolatedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
- final DeployDestination dest = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `dest`
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
@@
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
Original Test Code (click to expand)
@Test
public void implementIsolatedNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException, URISyntaxException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Isolated);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("10.0.0.0");
when(sourceNatIp.getAddress()).thenReturn(ip);
when(sourceNatIp.getVlanNetmask()).thenReturn("255.255.255.0");
when(sourceNatIp.getVlanTag()).thenReturn("111");
when(ipAddressManager.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(sourceNatIp);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
final CreateLogicalRouterAnswer answer = mock(CreateLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
private DeployDestination dest;
@BeforeEach
public void setUp() {
dest = mock(DeployDestination.class);
}
dest;
Test Case ID #cloudstack_Test_163_2
Test Case Name: implementSharedNetworkUuidVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
- final DeployDestination dest = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `dest`
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
@@
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
- assertTrue(element.implement(network, offering, dest, context));
+ assertTrue(element.implement(network, offering, dest, context));
Original Test Code (click to expand)
@Test
public void implementSharedNetworkUuidVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(true);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
NiciraNvpRouterMappingVO mapping = mock(NiciraNvpRouterMappingVO.class);
when(mapping.getLogicalRouterUuid()).thenReturn("xxxx-xxxx-xxxx");
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(mapping);
final ConfigureSharedNetworkUuidAnswer answer = mock(ConfigureSharedNetworkUuidAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
private DeployDestination dest;
@BeforeEach
public void setUp() {
dest = mock(DeployDestination.class);
}
dest;
Test Case ID #cloudstack_Test_163_3
Test Case Name: implementSharedNetworkNumericalVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(offering.getGuestType()).thenReturn(GuestType.Shared);
- final DeployDestination dest = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `dest`
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
@@
- assertTrue(element.implement(network, offering, dest, context));
+ assertTrue(element.implement(network, offering, dest, context));
Original Test Code (click to expand)
@Test
public void implementSharedNetworkNumericalVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn("bbbb-bbbb-bbbb");
final ConfigureSharedNetworkVlanIdAnswer answer = mock(ConfigureSharedNetworkVlanIdAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
private DeployDestination dest;
@BeforeEach
public void setUp() {
dest = mock(DeployDestination.class);
}
dest;
Test Case ID #cloudstack_Test_163_4
Test Case Name: implementSharedNetworkNumericalVlanIdWithoutL2GatewayService(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: dest
Suggested Diff
@@
when(offering.getGuestType()).thenReturn(GuestType.Shared);
- final DeployDestination dest = mock(DeployDestination.class);
+ // removed local mock; replaced with global field `dest`
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
@@
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn(null);
- element.implement(network, offering, dest, context);
+ element.implement(network, offering, dest, context);
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void implementSharedNetworkNumericalVlanIdWithoutL2GatewayService() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn(null);
element.implement(network, offering, dest, context);
}
Reusable Method for MCI (click to expand)
private DeployDestination dest;
@BeforeEach
public void setUp() {
dest = mock(DeployDestination.class);
}
dest;
Mock Clone Instance #cloudstack_MCI_164
- Scope: class level
- Mocked Class:
AffinityGroupDao
- Test Case Count: 6
- MO Count: 6
Reusable Method
public class MockAffinityGroupDao {
public static AffinityGroupDao createMockAffinityGroupDao(long affinityGroupId, AffinityGroupVO affinityGroupVO) {
AffinityGroupDao affinityGroupDao = Mockito.mock(AffinityGroupDao.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
return affinityGroupDao;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_164_1
Test Case Name: testProcessWithEmptyPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: affinityGroupDao
Suggested Diff
@@
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
- when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
+ affinityGroupDao = MockAffinityGroupDao.createMockAffinityGroupDao(affinityGroupId, affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
Original Test Code (click to expand)
@Test
public void testProcessWithEmptyPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupDao {
public static AffinityGroupDao createMockAffinityGroupDao(long affinityGroupId, AffinityGroupVO affinityGroupVO) {
AffinityGroupDao affinityGroupDao = Mockito.mock(AffinityGroupDao.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
return affinityGroupDao;
}
}
Test Case ID #cloudstack_Test_164_2
Test Case Name: testProcessWithPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: affinityGroupDao
Suggested Diff
@@
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
- when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
+ affinityGroupDao = MockAffinityGroupDao.createMockAffinityGroupDao(affinityGroupId, affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
Original Test Code (click to expand)
@Test
public void testProcessWithPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.LOWER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupDao {
public static AffinityGroupDao createMockAffinityGroupDao(long affinityGroupId, AffinityGroupVO affinityGroupVO) {
AffinityGroupDao affinityGroupDao = Mockito.mock(AffinityGroupDao.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
return affinityGroupDao;
}
}
Test Case ID #cloudstack_Test_164_3
Test Case Name: testProcessWithNotRunningVM(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: affinityGroupDao
Suggested Diff
@@
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
- when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
+ affinityGroupDao = MockAffinityGroupDao.createMockAffinityGroupDao(affinityGroupId, affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithNotRunningVM() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupDao {
public static AffinityGroupDao createMockAffinityGroupDao(long affinityGroupId, AffinityGroupVO affinityGroupVO) {
AffinityGroupDao affinityGroupDao = Mockito.mock(AffinityGroupDao.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
return affinityGroupDao;
}
}
Test Case ID #cloudstack_Test_164_4
Test Case Name: testProcessWithEmptyPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: affinityGroupDao
Suggested Diff
@@
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
- when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
+ affinityGroupDao = MockAffinityGroupDao.createMockAffinityGroupDao(affinityGroupId, affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
@@
Original Test Code (click to expand)
@Test
public void testProcessWithEmptyPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupDao {
public static AffinityGroupDao createMockAffinityGroupDao(long affinityGroupId, AffinityGroupVO affinityGroupVO) {
AffinityGroupDao affinityGroupDao = Mockito.mock(AffinityGroupDao.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
return affinityGroupDao;
}
}
Test Case ID #cloudstack_Test_164_5
Test Case Name: testProcessWithPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: affinityGroupDao
Suggested Diff
@@
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
- when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
+ affinityGroupDao = MockAffinityGroupDao.createMockAffinityGroupDao(affinityGroupId, affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
@@
Original Test Code (click to expand)
@Test
public void testProcessWithPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.HIGHER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupDao {
public static AffinityGroupDao createMockAffinityGroupDao(long affinityGroupId, AffinityGroupVO affinityGroupVO) {
AffinityGroupDao affinityGroupDao = Mockito.mock(AffinityGroupDao.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
return affinityGroupDao;
}
}
Test Case ID #cloudstack_Test_164_6
Test Case Name: testProcessWithNotRunningVM(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: affinityGroupDao
Suggested Diff
@@
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
- when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
+ affinityGroupDao = MockAffinityGroupDao.createMockAffinityGroupDao(affinityGroupId, affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
@@
Original Test Code (click to expand)
@Test
public void testProcessWithNotRunningVM() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockAffinityGroupDao {
public static AffinityGroupDao createMockAffinityGroupDao(long affinityGroupId, AffinityGroupVO affinityGroupVO) {
AffinityGroupDao affinityGroupDao = Mockito.mock(AffinityGroupDao.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
return affinityGroupDao;
}
}
Mock Clone Instance #cloudstack_MCI_165
- Scope: method level
- Mocked Class:
com.cloud.network.IpAddress
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static IpAddress createMockIpAddress(Ip ip) {
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
return ipAddress;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_165_1
Test Case Name: applyFWRulesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: ipAddress
Suggested Diff
@@
when(ip.addr()).thenReturn("1.2.3.4");
- IpAddress ipAddress = mock(IpAddress.class);
- when(ipAddress.getAddress()).thenReturn(ip);
+ IpAddress ipAddress = createMockIpAddress(ip);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.Firewall, Provider.CiscoVnmc)).thenReturn(true);
@@
Original Test Code (click to expand)
@Test
public void applyFWRulesTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.Firewall, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
FirewallRule rule = mock(FirewallRule.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
List<FirewallRule> rules = new ArrayList<FirewallRule>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetFirewallRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyFWRules(network, rules));
}
Reusable Method for MCI (click to expand)
private static IpAddress createMockIpAddress(Ip ip) {
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
return ipAddress;
}
Test Case ID #cloudstack_Test_165_2
Test Case Name: applyPRulesTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: ipAddress
Suggested Diff
@@
when(ip.addr()).thenReturn("1.2.3.4");
- IpAddress ipAddress = mock(IpAddress.class);
- when(ipAddress.getAddress()).thenReturn(ip);
- when(ipAddress.getVlanId()).thenReturn(1L);
+ IpAddress ipAddress = createMockIpAddress(ip);
+ when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.PortForwarding, Provider.CiscoVnmc)).thenReturn(true);
@@
Original Test Code (click to expand)
@Test
public void applyPRulesTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.PortForwarding, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
PortForwardingRule rule = mock(PortForwardingRule.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestinationIpAddress()).thenReturn(ip);
List<PortForwardingRule> rules = new ArrayList<PortForwardingRule>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetPortForwardingRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyPFRules(network, rules));
}
Reusable Method for MCI (click to expand)
private static IpAddress createMockIpAddress(Ip ip) {
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
return ipAddress;
}
Test Case ID #cloudstack_Test_165_3
Test Case Name: applyStaticNatsTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: ipAddress
Suggested Diff
@@
when(ip.addr()).thenReturn("1.2.3.4");
- IpAddress ipAddress = mock(IpAddress.class);
- when(ipAddress.getAddress()).thenReturn(ip);
- when(ipAddress.getVlanId()).thenReturn(1L);
+ IpAddress ipAddress = createMockIpAddress(ip);
+ when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
@@
Original Test Code (click to expand)
@Test
public void applyStaticNatsTest() throws ResourceUnavailableException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
when(network.getState()).thenReturn(Network.State.Implemented);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
when(ipAddress.getVlanId()).thenReturn(1L);
when(_networkModel.getIp(anyLong())).thenReturn(ipAddress);
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.StaticNat, Provider.CiscoVnmc)).thenReturn(true);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn(null);
when(_vlanDao.findById(anyLong())).thenReturn(vlanVO);
StaticNat rule = mock(StaticNat.class);
when(rule.getSourceIpAddressId()).thenReturn(1L);
when(rule.getDestIpAddress()).thenReturn("1.2.3.4");
when(rule.isForRevoke()).thenReturn(false);
List<StaticNat> rules = new ArrayList<StaticNat>();
rules.add(rule);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(SetStaticNatRulesCommand.class))).thenReturn(answer);
assertTrue(_element.applyStaticNats(network, rules));
}
Reusable Method for MCI (click to expand)
private static IpAddress createMockIpAddress(Ip ip) {
IpAddress ipAddress = mock(IpAddress.class);
when(ipAddress.getAddress()).thenReturn(ip);
return ipAddress;
}
Mock Clone Instance #cloudstack_MCI_166
- Scope: method level
- Mocked Class:
com.cloud.agent.manager.Commands
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static Commands createMockCommands() {
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
return commands;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_166_1
Test Case Name: testSendCommandsToRouter(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: commands
Suggested Diff
@@
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
- Commands commands = mock(Commands.class);
- when(commands.size()).thenReturn(3);
+ Commands commands = createMockCommands();
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
// In the second iteration it should match and return, without invoking the third
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouter() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(false);
lenient().when(answer3.getResult()).thenReturn(false);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(1)).getResult();
verify(answer2, times(1)).getResult();
verify(answer3, times(0)).getResult();
assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static Commands createMockCommands() {
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
return commands;
}
Test Case ID #cloudstack_Test_166_2
Test Case Name: testSendCommandsToRouterWithTrueResult(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: commands
Suggested Diff
@@
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
- Commands commands = mock(Commands.class);
- when(commands.size()).thenReturn(3);
+ Commands commands = createMockCommands();
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
// In the second iteration it should match and return, without invoking the third
Answer[] answers = { answer1, answer2, answer3 };
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouterWithTrueResult() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer answer3 = mock(Answer.class);
Answer[] answers = { answer1, answer2, answer3 };
when(answer1.getResult()).thenReturn(true);
when(answer2.getResult()).thenReturn(true);
when(answer3.getResult()).thenReturn(true);
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(1)).getResult();
verify(answer2, times(1)).getResult();
verify(answer3, times(1)).getResult();
assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static Commands createMockCommands() {
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
return commands;
}
Test Case ID #cloudstack_Test_166_3
Test Case Name: testSendCommandsToRouterWithNoAnswers(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\router\NetworkHelperImplTest.java)
Mock Object Variable Name: commands
Suggested Diff
@@
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
- Commands commands = mock(Commands.class);
- when(commands.size()).thenReturn(3);
+ Commands commands = createMockCommands();
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
// In the second iteration it should match and return, without invoking the third
Answer[] answers = { answer1, answer2 };
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
@@
Original Test Code (click to expand)
@Test
public void testSendCommandsToRouterWithNoAnswers() throws AgentUnavailableException, OperationTimedoutException, ResourceUnavailableException {
NetworkHelperImpl nwHelperUT = spy(this.nwHelper);
VirtualRouter vr = mock(VirtualRouter.class);
when(vr.getHostId()).thenReturn(HOST_ID);
doReturn(true).when(nwHelperUT).checkRouterVersion(vr);
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
Answer answer1 = mock(Answer.class);
Answer answer2 = mock(Answer.class);
Answer[] answers = { answer1, answer2 };
when(this.agentManager.send(HOST_ID, commands)).thenReturn(answers);
final boolean result = nwHelperUT.sendCommandsToRouter(vr, commands);
verify(this.agentManager, times(1)).send(HOST_ID, commands);
verify(answer1, times(0)).getResult();
assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static Commands createMockCommands() {
Commands commands = mock(Commands.class);
when(commands.size()).thenReturn(3);
return commands;
}
Mock Clone Instance #cloudstack_MCI_167
- Scope: method level
- Mocked Class:
com.cloud.agent.manager.Commands
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static Commands createMockCommands(CheckSshAnswer answerMock) {
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
return cmds;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_167_1
Test Case Name: testFinalizeStartWhenCmdsAnswerIsNotNullButAnswerResultIsFalse(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\elastic-loadbalancer\src\test\java\com\cloud\network\lb\ElasticLoadBalancerManagerImplTest.java)
Mock Object Variable Name: cmds
Suggested Diff
@@
VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
long hostId = 1L;
- Commands cmds = mock(Commands.class);
- when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
+ Commands cmds = createMockCommands(answerMock);
ReservationContext context = mock(ReservationContext.class);
boolean expected = false;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Original Test Code (click to expand)
@Test
public void testFinalizeStartWhenCmdsAnswerIsNotNullButAnswerResultIsFalse() throws Exception {
CheckSshAnswer answerMock = mock(CheckSshAnswer.class);
when(answerMock.getResult()).thenReturn(false);
VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
ReservationContext context = mock(ReservationContext.class);
boolean expected = false;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Reusable Method for MCI (click to expand)
private static Commands createMockCommands(CheckSshAnswer answerMock) {
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
return cmds;
}
Test Case ID #cloudstack_Test_167_2
Test Case Name: testFinalizeStartWhenCmdsAnswerIsNotNullAndAnswerResultIsTrue(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\elastic-loadbalancer\src\test\java\com\cloud\network\lb\ElasticLoadBalancerManagerImplTest.java)
Mock Object Variable Name: cmds
Suggested Diff
@@
VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
long hostId = 1L;
- Commands cmds = mock(Commands.class);
- when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
+ Commands cmds = createMockCommands(answerMock);
ReservationContext context = mock(ReservationContext.class);
boolean expected = true;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Original Test Code (click to expand)
@Test
public void testFinalizeStartWhenCmdsAnswerIsNotNullAndAnswerResultIsTrue() throws Exception {
CheckSshAnswer answerMock = mock(CheckSshAnswer.class);
when(answerMock.getResult()).thenReturn(true);
VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
ReservationContext context = mock(ReservationContext.class);
boolean expected = true;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Reusable Method for MCI (click to expand)
private static Commands createMockCommands(CheckSshAnswer answerMock) {
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
return cmds;
}
Mock Clone Instance #cloudstack_MCI_168
- Scope: method level
- Mocked Class:
com.cloud.user.Account
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static Account createMockAccount(long accountId) {
Account account = Mockito.mock(Account.class);
Mockito.when(account.getAccountId()).thenReturn(accountId);
return account;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_168_1
Mock Object Variable Name: caller
Suggested Diff
@@
long accountId = 1L;
- Account caller = Mockito.mock(Account.class);
- Mockito.when(caller.getAccountId()).thenReturn(accountId);
+ Account caller = createMockAccount(accountId);
ResourceTag resourceTag = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag.getAccountId()).thenReturn(accountId);
taggedResourceManagerImplSpy.checkTagsDeletePermission(List.of(resourceTag), caller);
@@
Original Test Code (click to expand)
@Test
public void testCheckTagsDeletePermission() {
long accountId = 1L;
Account caller = Mockito.mock(Account.class);
Mockito.when(caller.getAccountId()).thenReturn(accountId);
ResourceTag resourceTag = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag.getAccountId()).thenReturn(accountId);
taggedResourceManagerImplSpy.checkTagsDeletePermission(List.of(resourceTag), caller);
}
Reusable Method for MCI (click to expand)
private static Account createMockAccount(long accountId) {
Account account = Mockito.mock(Account.class);
Mockito.when(account.getAccountId()).thenReturn(accountId);
return account;
}
Test Case ID #cloudstack_Test_168_2
Mock Object Variable Name: caller
Suggested Diff
@@
long callerAccountId = 1L;
long ownerAccountId = 2L;
- Account caller = Mockito.mock(Account.class);
- Mockito.when(caller.getAccountId()).thenReturn(callerAccountId);
+ Account caller = createMockAccount(callerAccountId);
ResourceTag resourceTag1 = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag1.getAccountId()).thenReturn(callerAccountId);
ResourceTag resourceTag2 = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag2.getAccountId()).thenReturn(ownerAccountId);
Account owner = Mockito.mock(Account.class);
Mockito.when(accountManager.getAccount(ownerAccountId)).thenReturn(owner);
Mockito.doThrow(PermissionDeniedException.class).when(accountManager).checkAccess(caller, null, false, owner);
taggedResourceManagerImplSpy.checkTagsDeletePermission(List.of(resourceTag1, resourceTag2), caller);
@@
Original Test Code (click to expand)
@Test(expected = PermissionDeniedException.class)
public void testCheckTagsDeletePermissionFail() {
long callerAccountId = 1L;
long ownerAccountId = 2L;
Account caller = Mockito.mock(Account.class);
Mockito.when(caller.getAccountId()).thenReturn(callerAccountId);
ResourceTag resourceTag1 = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag1.getAccountId()).thenReturn(callerAccountId);
ResourceTag resourceTag2 = Mockito.mock(ResourceTag.class);
Mockito.when(resourceTag2.getAccountId()).thenReturn(ownerAccountId);
Account owner = Mockito.mock(Account.class);
Mockito.when(accountManager.getAccount(ownerAccountId)).thenReturn(owner);
Mockito.doThrow(PermissionDeniedException.class).when(accountManager).checkAccess(caller, null, false, owner);
taggedResourceManagerImplSpy.checkTagsDeletePermission(List.of(resourceTag1, resourceTag2), caller);
}
Reusable Method for MCI (click to expand)
private static Account createMockAccount(long accountId) {
Account account = Mockito.mock(Account.class);
Mockito.when(account.getAccountId()).thenReturn(accountId);
return account;
}
Mock Clone Instance #cloudstack_MCI_169
- Scope: class level
- Mocked Class:
com.cloud.user.Account
- Test Case Count: 5
- MO Count: 5
Reusable Method
public class MockAccount {
public static Account createMockAccount(String accountName) {
Account account = mock(Account.class);
when(account.getAccountName()).thenReturn(accountName);
return account;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_169_1
Test Case Name: implementTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("d1");
- Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("a1");
+ Account acc = MockAccount.createMockAccount("a1");
ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
@@
Original Test Code (click to expand)
@Test
public void implementTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getGateway()).thenReturn("1.1.1.1");
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(1L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
DeployDestination dest = mock(DeployDestination.class);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("d1");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("a1");
ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
DataCenter dc = mock(DataCenter.class);
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_entityMgr.findById(DataCenter.class, network.getDataCenterId())).thenReturn(dc);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
CiscoAsa1000vDeviceVO asaVO = mock(CiscoAsa1000vDeviceVO.class);
when(asaVO.getInPortProfile()).thenReturn("foo");
when(asaVO.getManagementIp()).thenReturn("1.2.3.4");
List<CiscoAsa1000vDeviceVO> asaList = new ArrayList<CiscoAsa1000vDeviceVO>();
asaList.add(asaVO);
when(_ciscoAsa1000vDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(asaList);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkAsa1000vMapDao.findByAsa1000vId(anyLong())).thenReturn(null);
when(_networkAsa1000vMapDao.persist(any(NetworkAsa1000vMapVO.class))).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, Provider.CiscoVnmc)).thenReturn(true);
ClusterVSMMapVO clusterVsmMap = mock(ClusterVSMMapVO.class);
when(_clusterVsmMapDao.findByClusterId(anyLong())).thenReturn(clusterVsmMap);
CiscoNexusVSMDeviceVO vsmDevice = mock(CiscoNexusVSMDeviceVO.class);
when(vsmDevice.getUserName()).thenReturn("foo");
when(vsmDevice.getPassword()).thenReturn("bar");
when(vsmDevice.getipaddr()).thenReturn("1.2.3.4");
when(_vsmDeviceDao.findById(anyLong())).thenReturn(vsmDevice);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
PublicIp publicIp = mock(PublicIp.class);
when(publicIp.getAddress()).thenReturn(ip);
when(publicIp.getState()).thenReturn(IpAddress.State.Releasing);
when(publicIp.getAccountId()).thenReturn(1L);
when(publicIp.isSourceNat()).thenReturn(true);
when(publicIp.getVlanTag()).thenReturn("123");
when(publicIp.getGateway()).thenReturn("1.1.1.1");
when(publicIp.getNetmask()).thenReturn("1.1.1.1");
when(publicIp.getMacAddress()).thenReturn(null);
when(publicIp.isOneToOneNat()).thenReturn(true);
when(_ipAddrMgr.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(publicIp);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanGateway()).thenReturn("1.1.1.1");
List<VlanVO> vlanVOList = new ArrayList<VlanVO>();
when(_vlanDao.listVlansByPhysicalNetworkId(network.getPhysicalNetworkId())).thenReturn(vlanVOList);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CreateLogicalEdgeFirewallCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(ConfigureNexusVsmForAsaCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(SetSourceNatCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(AssociateAsaWithLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount(String accountName) {
Account account = mock(Account.class);
when(account.getAccountName()).thenReturn(accountName);
return account;
}
}
Test Case ID #cloudstack_Test_169_2
Test Case Name: implementIsolatedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
//ISOLATED NETWORK
@@
Original Test Code (click to expand)
@Test
public void implementIsolatedNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException, URISyntaxException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Isolated);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("10.0.0.0");
when(sourceNatIp.getAddress()).thenReturn(ip);
when(sourceNatIp.getVlanNetmask()).thenReturn("255.255.255.0");
when(sourceNatIp.getVlanTag()).thenReturn("111");
when(ipAddressManager.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(sourceNatIp);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
final CreateLogicalRouterAnswer answer = mock(CreateLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount(String accountName) {
Account account = mock(Account.class);
when(account.getAccountName()).thenReturn(accountName);
return account;
}
}
Test Case ID #cloudstack_Test_169_3
Test Case Name: implementSharedNetworkUuidVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
@@
Original Test Code (click to expand)
@Test
public void implementSharedNetworkUuidVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(true);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
NiciraNvpRouterMappingVO mapping = mock(NiciraNvpRouterMappingVO.class);
when(mapping.getLogicalRouterUuid()).thenReturn("xxxx-xxxx-xxxx");
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(mapping);
final ConfigureSharedNetworkUuidAnswer answer = mock(ConfigureSharedNetworkUuidAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount(String accountName) {
Account account = mock(Account.class);
when(account.getAccountName()).thenReturn(accountName);
return account;
}
}
Test Case ID #cloudstack_Test_169_4
Test Case Name: implementSharedNetworkNumericalVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
@@
Original Test Code (click to expand)
@Test
public void implementSharedNetworkNumericalVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn("bbbb-bbbb-bbbb");
final ConfigureSharedNetworkVlanIdAnswer answer = mock(ConfigureSharedNetworkVlanIdAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount(String accountName) {
Account account = mock(Account.class);
when(account.getAccountName()).thenReturn(accountName);
return account;
}
}
Test Case ID #cloudstack_Test_169_5
Test Case Name: implementSharedNetworkNumericalVlanIdWithoutL2GatewayService(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
//SHARED NETWORKS CASE 2
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void implementSharedNetworkNumericalVlanIdWithoutL2GatewayService() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn(null);
element.implement(network, offering, dest, context);
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount(String accountName) {
Account account = mock(Account.class);
when(account.getAccountName()).thenReturn(accountName);
return account;
}
}
Mock Clone Instance #cloudstack_MCI_170
- Scope: class level
- Mocked Class:
com.cloud.user.Account
- Test Case Count: 1
- MO Count: 2
Reusable Method
public class MockAccount {
public static Account createMockAccount(long id) {
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(id);
return account;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_170_1
Test Case Name: testGetEntityOwnerIdForProject(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\ActivateProjectCmdTest.java)
Mock Object Variable Name: account
Suggested Diff
@@
ProjectService projectService = Mockito.mock(ProjectService.class);
- Account account = Mockito.mock(Account.class);
- Mockito.when(account.getId()).thenReturn(2L);
+ Account account = MockAccount.createMockAccount(2L);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
activateProjectCmd._projectService = projectService;
Assert.assertEquals(2L, activateProjectCmd.getEntityOwnerId());
@@
Original Test Code (click to expand)
@Test
public void testGetEntityOwnerIdForProject() {
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(2L);
ProjectService projectService = Mockito.mock(ProjectService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(2L);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
activateProjectCmd._projectService = projectService;
Assert.assertEquals(2L, activateProjectCmd.getEntityOwnerId());
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount(long id) {
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(id);
return account;
}
}
Test Case ID #cloudstack_Test_170_2
Test Case Name: testGetEntityOwnerIdForProject(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\AddAccountToProjectCmdTest.java)
Mock Object Variable Name: account
Suggested Diff
@@
ProjectService projectService = Mockito.mock(ProjectService.class);
- Account account = Mockito.mock(Account.class);
- Mockito.when(account.getId()).thenReturn(2L);
+ Account account = MockAccount.createMockAccount(2L);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
addAccountToProjectCmd._projectService = projectService;
Assert.assertEquals(2L, addAccountToProjectCmd.getEntityOwnerId());
}
Original Test Code (click to expand)
@Test
public void testGetEntityOwnerIdForProject() {
Project project = Mockito.mock(Project.class);
Mockito.when(project.getId()).thenReturn(2L);
ProjectService projectService = Mockito.mock(ProjectService.class);
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(2L);
Mockito.when(projectService.getProject(Matchers.anyLong())).thenReturn(project);
Mockito.when(projectService.getProjectOwner(Matchers.anyLong())).thenReturn(account);
addAccountToProjectCmd._projectService = projectService;
Assert.assertEquals(2L, addAccountToProjectCmd.getEntityOwnerId());
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount(long id) {
Account account = Mockito.mock(Account.class);
Mockito.when(account.getId()).thenReturn(id);
return account;
}
}
Mock Clone Instance #cloudstack_MCI_171
- Scope: class level
- Mocked Class:
com.cloud.user.Account
- Test Case Count: 7
- MO Count: 11
Reusable Method
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_171_1
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ Account acc = MockAccount.createMockAccount();
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
}
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Test Case ID #cloudstack_Test_171_2
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ Account acc = MockAccount.createMockAccount();
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Test Case ID #cloudstack_Test_171_3
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ Account acc = MockAccount.createMockAccount();
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
@@
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vxlan);
when(network.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(network.getPhysicalNetworkId()).thenReturn(42L);
when(netdao.findById(42L)).thenReturn(network);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(42L);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Test Case ID #cloudstack_Test_171_4
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount();
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Test Case ID #cloudstack_Test_171_5
Test Case Name: testImplementFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount();
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
@@
Original Test Code (click to expand)
@Test
public void testImplementFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Test Case ID #cloudstack_Test_171_6
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount();
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
@@
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Test Case ID #cloudstack_Test_171_7
Test Case Name: testReserveFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount();
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Original Test Code (click to expand)
@Test
public void testReserveFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Test Case ID #cloudstack_Test_171_8
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount();
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Test Case ID #cloudstack_Test_171_9
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount();
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Test Case ID #cloudstack_Test_171_10
Test Case Name: testImplementURIException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount();
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
@@
Original Test Code (click to expand)
@Test
public void testImplementURIException() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Test Case ID #cloudstack_Test_171_11
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: acc
Suggested Diff
@@
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
- final Account acc = mock(Account.class);
- when(acc.getAccountName()).thenReturn("accountname");
+ final Account acc = MockAccount.createMockAccount();
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final DeleteLogicalSwitchAnswer answer = mock(DeleteLogicalSwitchAnswer.class);
@@
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(netdao.findById(NETWORK_ID)).thenReturn(network);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final DeleteLogicalSwitchAnswer answer = mock(DeleteLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(NETWORK_ID);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("lswitch:aaaa"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockAccount {
public static Account createMockAccount() {
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
return acc;
}
}
Mock Clone Instance #cloudstack_MCI_172
- Scope: method level
- Mocked Class:
com.cloud.user.Account
- Test Case Count: 4
- MO Count: 4
Reusable Method
private Account account;
@BeforeEach
public void setUp() {
account = mock(Account.class);
}
account;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_172_1
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: account
Suggested Diff
@@
final Network network = mock(Network.class);
- final Account account = mock(Account.class);
+ // removed local mock; replaced with global field `account`
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Lswitch);
Original Test Code (click to expand)
@Test
public void testDesign() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Lswitch);
}
Reusable Method for MCI (click to expand)
private Account account;
@BeforeEach
public void setUp() {
account = mock(Account.class);
}
account;
Test Case ID #cloudstack_Test_172_2
Test Case Name: testDesignNoElementOnPhysicalNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: account
Suggested Diff
@@
final Network network = mock(Network.class);
- final Account account = mock(Account.class);
+ // removed local mock; replaced with global field `account`
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoElementOnPhysicalNetwork() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections.<NiciraNvpDeviceVO>emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private Account account;
@BeforeEach
public void setUp() {
account = mock(Account.class);
}
account;
Test Case ID #cloudstack_Test_172_3
Test Case Name: testDesignNoIsolationMethodSTT(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: account
Suggested Diff
@@
final Network network = mock(Network.class);
- final Account account = mock(Account.class);
+ // removed local mock; replaced with global field `account`
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoIsolationMethodSTT() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections.<NiciraNvpDeviceVO>emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private Account account;
@BeforeEach
public void setUp() {
account = mock(Account.class);
}
account;
Test Case ID #cloudstack_Test_172_4
Test Case Name: testDesignNoConnectivityInOffering(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: account
Suggested Diff
@@
final Network network = mock(Network.class);
- final Account account = mock(Account.class);
+ // removed local mock; replaced with global field `account`
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoConnectivityInOffering() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private Account account;
@BeforeEach
public void setUp() {
account = mock(Account.class);
}
account;
Mock Clone Instance #cloudstack_MCI_173
- Scope: method level
- Mocked Class:
com.cloud.user.Account
- Test Case Count: 3
- MO Count: 3
Reusable Method
private Account account;
@BeforeEach
public void setUp() {
account = mock(Account.class);
}
account;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_173_1
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: account
Suggested Diff
@@
final Network network = mock(Network.class);
- final Account account = mock(Account.class);
+ // removed local mock; replaced with global field `account`
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Vcs);
Original Test Code (click to expand)
@Test
public void testDesign() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Vcs);
}
Reusable Method for MCI (click to expand)
private Account account;
@BeforeEach
public void setUp() {
account = mock(Account.class);
}
account;
Test Case ID #cloudstack_Test_173_2
Test Case Name: testDesignNoIsolationMethodVCS(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: account
Suggested Diff
@@
final Network network = mock(Network.class);
- final Account account = mock(Account.class);
+ // removed local mock; replaced with global field `account`
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoIsolationMethodVCS() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private Account account;
@BeforeEach
public void setUp() {
account = mock(Account.class);
}
account;
Test Case ID #cloudstack_Test_173_3
Test Case Name: testDesignNoConnectivityInOffering(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: account
Suggested Diff
@@
final Network network = mock(Network.class);
- final Account account = mock(Account.class);
+ // removed local mock; replaced with global field `account`
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
Original Test Code (click to expand)
@Test
public void testDesignNoConnectivityInOffering() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
private Account account;
@BeforeEach
public void setUp() {
account = mock(Account.class);
}
account;
Mock Clone Instance #cloudstack_MCI_174
- Scope: method level
- Mocked Class:
java.util.Map<java.lang.String, org.apache.cloudstack.auth.UserTwoFactorAuthenticator>
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static Map<String, UserTwoFactorAuthenticator> createMockUserTwoFactorAuthenticationProvidersMap(String providerKey, UserTwoFactorAuthenticator providerInstance) {
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey(providerKey)).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get(providerKey)).thenReturn(providerInstance);
return userTwoFactorAuthenticationProvidersMap;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_174_1
Test Case Name: testEnableUserTwoFactorAuthenticationWhenProviderNameIsNullExpectedDefaultProviderTOTP(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: userTwoFactorAuthenticationProvidersMap
Suggested Diff
@@
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
- Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
- Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("totp")).thenReturn(true);
- Mockito.when(userTwoFactorAuthenticationProvidersMap.get("totp")).thenReturn(totpProvider);
+ Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = createMockUserTwoFactorAuthenticationProvidersMap("totp", totpProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
@@
Original Test Code (click to expand)
@Test
public void testEnableUserTwoFactorAuthenticationWhenProviderNameIsNullExpectedDefaultProviderTOTP() {
Long userId = 1L;
UserAccountVO userAccount = Mockito.mock(UserAccountVO.class);
UserVO userVO = Mockito.mock(UserVO.class);
Mockito.when(userAccountDaoMock.findById(userId)).thenReturn(userAccount);
Mockito.when(userDaoMock.findById(userId)).thenReturn(userVO);
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("totp")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("totp")).thenReturn(totpProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
Mockito.when(userDaoMock.update(userId, userVoMock)).thenReturn(true);
UserTwoFactorAuthenticationSetupResponse response = accountManagerImpl.enableTwoFactorAuthentication(userId, null);
Assert.assertEquals("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL", response.getSecretCode());
}
Reusable Method for MCI (click to expand)
private static Map<String, UserTwoFactorAuthenticator> createMockUserTwoFactorAuthenticationProvidersMap(String providerKey, UserTwoFactorAuthenticator providerInstance) {
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey(providerKey)).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get(providerKey)).thenReturn(providerInstance);
return userTwoFactorAuthenticationProvidersMap;
}
Test Case ID #cloudstack_Test_174_2
Test Case Name: testEnableUserTwoFactorAuthentication(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: userTwoFactorAuthenticationProvidersMap
Suggested Diff
@@
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
- Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
- Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("totp")).thenReturn(true);
- Mockito.when(userTwoFactorAuthenticationProvidersMap.get("totp")).thenReturn(totpProvider);
+ Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = createMockUserTwoFactorAuthenticationProvidersMap("totp", totpProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
@@
Original Test Code (click to expand)
@Test
public void testEnableUserTwoFactorAuthentication() {
Long userId = 1L;
UserAccountVO userAccount = Mockito.mock(UserAccountVO.class);
UserVO userVO = Mockito.mock(UserVO.class);
Mockito.when(userAccountDaoMock.findById(userId)).thenReturn(userAccount);
Mockito.when(userDaoMock.findById(userId)).thenReturn(userVO);
Mockito.when(userAccount.getDomainId()).thenReturn(1L);
ConfigKey<Boolean> enableUserTwoFactorAuthentication = Mockito.mock(ConfigKey.class);
AccountManagerImpl.enableUserTwoFactorAuthentication = enableUserTwoFactorAuthentication;
Mockito.when(enableUserTwoFactorAuthentication.valueIn(1L)).thenReturn(true);
UserTwoFactorAuthenticator totpProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("totp")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("totp")).thenReturn(totpProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
Mockito.when(totpProvider.setup2FAKey(userAccount)).thenReturn("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
Mockito.when(userDaoMock.update(userId, userVoMock)).thenReturn(true);
UserTwoFactorAuthenticationSetupResponse response = accountManagerImpl.enableTwoFactorAuthentication(userId, "totp");
Assert.assertEquals("EUJEAEDVOURFZTE6OGWVTJZMI54QGMIL", response.getSecretCode());
}
Reusable Method for MCI (click to expand)
private static Map<String, UserTwoFactorAuthenticator> createMockUserTwoFactorAuthenticationProvidersMap(String providerKey, UserTwoFactorAuthenticator providerInstance) {
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey(providerKey)).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get(providerKey)).thenReturn(providerInstance);
return userTwoFactorAuthenticationProvidersMap;
}
Test Case ID #cloudstack_Test_174_3
Test Case Name: testVerify2FAcode(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: userTwoFactorAuthenticationProvidersMap
Suggested Diff
@@
UserTwoFactorAuthenticator staticpinProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
- Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
- Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("staticpin")).thenReturn(true);
- Mockito.when(userTwoFactorAuthenticationProvidersMap.get("staticpin")).thenReturn(staticpinProvider);
+ Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = createMockUserTwoFactorAuthenticationProvidersMap("staticpin", staticpinProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
accountManagerImpl.verifyUsingTwoFactorAuthenticationCode("352352", 1L, 1L);
@@
Original Test Code (click to expand)
@Test
public void testVerify2FAcode() {
AccountVO accountMock = Mockito.mock(AccountVO.class);
Account caller = CallContext.current().getCallingAccount();
Mockito.when(caller.getId()).thenReturn(1L);
Mockito.lenient().when(_accountService.getActiveAccountById(1L)).thenReturn(accountMock);
Mockito.when(_accountService.getUserAccountById(1L)).thenReturn(userAccountVO);
Mockito.when(userAccountVO.isUser2faEnabled()).thenReturn(true);
Mockito.when(userAccountVO.getUser2faProvider()).thenReturn("staticpin");
Mockito.when(userAccountVO.getKeyFor2fa()).thenReturn("352352");
UserTwoFactorAuthenticator staticpinProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("staticpin")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("staticpin")).thenReturn(staticpinProvider);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
accountManagerImpl.verifyUsingTwoFactorAuthenticationCode("352352", 1L, 1L);
}
Reusable Method for MCI (click to expand)
private static Map<String, UserTwoFactorAuthenticator> createMockUserTwoFactorAuthenticationProvidersMap(String providerKey, UserTwoFactorAuthenticator providerInstance) {
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey(providerKey)).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get(providerKey)).thenReturn(providerInstance);
return userTwoFactorAuthenticationProvidersMap;
}
Test Case ID #cloudstack_Test_174_4
Test Case Name: testEnable2FAcode(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\user\AccountManagerImplTest.java)
Mock Object Variable Name: userTwoFactorAuthenticationProvidersMap
Suggested Diff
@@
UserTwoFactorAuthenticator staticpinProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
- Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
- Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("staticpin")).thenReturn(true);
- Mockito.when(userTwoFactorAuthenticationProvidersMap.get("staticpin")).thenReturn(staticpinProvider);
+ Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = createMockUserTwoFactorAuthenticationProvidersMap("staticpin", staticpinProvider);
Mockito.when(staticpinProvider.setup2FAKey(userAccountVO)).thenReturn("345543");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
@@
Original Test Code (click to expand)
@Test
public void testEnable2FAcode() {
SetupUserTwoFactorAuthenticationCmd cmd = Mockito.mock(SetupUserTwoFactorAuthenticationCmd.class);
Mockito.when(cmd.getProvider()).thenReturn("staticpin");
AccountVO accountMock = Mockito.mock(AccountVO.class);
Mockito.when(callingAccount.getId()).thenReturn(1L);
Mockito.when(callingUser.getId()).thenReturn(1L);
CallContext.register(callingUser, callingAccount);
Mockito.lenient().when(_accountService.getActiveAccountById(1L)).thenReturn(accountMock);
Mockito.when(userAccountDaoMock.findById(1L)).thenReturn(userAccountVO);
Mockito.when(userDaoMock.findById(1L)).thenReturn(userVoMock);
Mockito.when(userAccountVO.getDomainId()).thenReturn(1L);
Mockito.when(enableUserTwoFactorAuthenticationMock.valueIn(1L)).thenReturn(true);
Mockito.when(cmd.getEnable()).thenReturn(true);
UserTwoFactorAuthenticator staticpinProvider = Mockito.mock(UserTwoFactorAuthenticator.class);
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey("staticpin")).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get("staticpin")).thenReturn(staticpinProvider);
Mockito.when(staticpinProvider.setup2FAKey(userAccountVO)).thenReturn("345543");
Mockito.when(userDaoMock.createForUpdate()).thenReturn(userVoMock);
AccountManagerImpl.userTwoFactorAuthenticationProvidersMap = userTwoFactorAuthenticationProvidersMap;
UserTwoFactorAuthenticationSetupResponse response = accountManagerImpl.setupUserTwoFactorAuthentication(cmd);
Assert.assertEquals("345543", response.getSecretCode());
}
Reusable Method for MCI (click to expand)
private static Map<String, UserTwoFactorAuthenticator> createMockUserTwoFactorAuthenticationProvidersMap(String providerKey, UserTwoFactorAuthenticator providerInstance) {
Map<String, UserTwoFactorAuthenticator> userTwoFactorAuthenticationProvidersMap = Mockito.mock(HashMap.class);
Mockito.when(userTwoFactorAuthenticationProvidersMap.containsKey(providerKey)).thenReturn(true);
Mockito.when(userTwoFactorAuthenticationProvidersMap.get(providerKey)).thenReturn(providerInstance);
return userTwoFactorAuthenticationProvidersMap;
}
Mock Clone Instance #cloudstack_MCI_175
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.user.userdata.ListUserDataCmd
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static ListUserDataCmd createMockListUserDataCmd(String accountName, long domainId, long projectId, boolean recursive) {
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn(accountName);
when(cmd.getDomainId()).thenReturn(domainId);
when(cmd.getProjectId()).thenReturn(projectId);
when(cmd.isRecursive()).thenReturn(recursive);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_175_1
Test Case Name: testListUserDataById(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
- ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
- when(cmd.getAccountName()).thenReturn("testAccountName");
- when(cmd.getDomainId()).thenReturn(1L);
- when(cmd.getProjectId()).thenReturn(2L);
- when(cmd.getId()).thenReturn(1L);
- when(cmd.isRecursive()).thenReturn(false);
+ ListUserDataCmd cmd = createMockListUserDataCmd("testAccountName", 1L, 2L, false);
+ when(cmd.getId()).thenReturn(1L);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
@@
Original Test Code (click to expand)
@Test
public void testListUserDataById() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getId()).thenReturn(1L);
when(cmd.isRecursive()).thenReturn(false);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(_userDataDao.createSearchBuilder()).thenReturn(sb);
when(sb.entity()).thenReturn(userData);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
userDataList.add(userData);
Pair<List<UserDataVO>, Integer> result = new Pair(userDataList, 1);
when(_userDataDao.searchAndCount(nullable(SearchCriteria.class), nullable(Filter.class))).thenReturn(result);
Pair<List<? extends UserData>, Integer> userdataResultList = spy.listUserDatas(cmd);
Assert.assertEquals(userdataResultList.first().get(0), userDataList.get(0));
}
Reusable Method for MCI (click to expand)
private static ListUserDataCmd createMockListUserDataCmd(String accountName, long domainId, long projectId, boolean recursive) {
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn(accountName);
when(cmd.getDomainId()).thenReturn(domainId);
when(cmd.getProjectId()).thenReturn(projectId);
when(cmd.isRecursive()).thenReturn(recursive);
return cmd;
}
Test Case ID #cloudstack_Test_175_2
Test Case Name: testListUserDataByName(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
- ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
- when(cmd.getAccountName()).thenReturn("testAccountName");
- when(cmd.getDomainId()).thenReturn(1L);
- when(cmd.getProjectId()).thenReturn(2L);
- when(cmd.getName()).thenReturn("testSearchUserdataName");
- when(cmd.isRecursive()).thenReturn(false);
+ ListUserDataCmd cmd = createMockListUserDataCmd("testAccountName", 1L, 2L, false);
+ when(cmd.getName()).thenReturn("testSearchUserdataName");
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
@@
Original Test Code (click to expand)
@Test
public void testListUserDataByName() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getName()).thenReturn("testSearchUserdataName");
when(cmd.isRecursive()).thenReturn(false);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(_userDataDao.createSearchBuilder()).thenReturn(sb);
when(sb.entity()).thenReturn(userData);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
userDataList.add(userData);
Pair<List<UserDataVO>, Integer> result = new Pair(userDataList, 1);
when(_userDataDao.searchAndCount(nullable(SearchCriteria.class), nullable(Filter.class))).thenReturn(result);
Pair<List<? extends UserData>, Integer> userdataResultList = spy.listUserDatas(cmd);
Assert.assertEquals(userdataResultList.first().get(0), userDataList.get(0));
}
Reusable Method for MCI (click to expand)
private static ListUserDataCmd createMockListUserDataCmd(String accountName, long domainId, long projectId, boolean recursive) {
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn(accountName);
when(cmd.getDomainId()).thenReturn(domainId);
when(cmd.getProjectId()).thenReturn(projectId);
when(cmd.isRecursive()).thenReturn(recursive);
return cmd;
}
Test Case ID #cloudstack_Test_175_3
Test Case Name: testListUserDataByKeyword(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
- ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
- when(cmd.getAccountName()).thenReturn("testAccountName");
- when(cmd.getDomainId()).thenReturn(1L);
- when(cmd.getProjectId()).thenReturn(2L);
- when(cmd.getKeyword()).thenReturn("testSearchUserdataKeyword");
- when(cmd.isRecursive()).thenReturn(false);
+ ListUserDataCmd cmd = createMockListUserDataCmd("testAccountName", 1L, 2L, false);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
@@
Original Test Code (click to expand)
@Test
public void testListUserDataByKeyword() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getKeyword()).thenReturn("testSearchUserdataKeyword");
when(cmd.isRecursive()).thenReturn(false);
UserDataVO userData = Mockito.mock(UserDataVO.class);
SearchBuilder<UserDataVO> sb = Mockito.mock(SearchBuilder.class);
when(_userDataDao.createSearchBuilder()).thenReturn(sb);
when(sb.entity()).thenReturn(userData);
SearchCriteria<UserDataVO> sc = Mockito.mock(SearchCriteria.class);
when(sb.create()).thenReturn(sc);
List<UserDataVO> userDataList = new ArrayList<UserDataVO>();
userDataList.add(userData);
Pair<List<UserDataVO>, Integer> result = new Pair(userDataList, 1);
when(_userDataDao.searchAndCount(nullable(SearchCriteria.class), nullable(Filter.class))).thenReturn(result);
Pair<List<? extends UserData>, Integer> userdataResultList = spy.listUserDatas(cmd);
Assert.assertEquals(userdataResultList.first().get(0), userDataList.get(0));
}
Reusable Method for MCI (click to expand)
private static ListUserDataCmd createMockListUserDataCmd(String accountName, long domainId, long projectId, boolean recursive) {
ListUserDataCmd cmd = Mockito.mock(ListUserDataCmd.class);
when(cmd.getAccountName()).thenReturn(accountName);
when(cmd.getDomainId()).thenReturn(domainId);
when(cmd.getProjectId()).thenReturn(projectId);
when(cmd.isRecursive()).thenReturn(recursive);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_176
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.user.ipv6.CreateIpv6FirewallRuleCmd
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static CreateIpv6FirewallRuleCmd createMockCreateIpv6FirewallRuleCmd(int sourcePortStart) {
CreateIpv6FirewallRuleCmd cmd = Mockito.mock(CreateIpv6FirewallRuleCmd.class);
Mockito.when(cmd.getSourcePortStart()).thenReturn(sourcePortStart);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_176_1
Test Case Name: testStartPortCidrCreateIpv6FirewallRule(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\Ipv6ServiceImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
registerCallContext();
- CreateIpv6FirewallRuleCmd cmd = Mockito.mock(CreateIpv6FirewallRuleCmd.class);
- Mockito.when(cmd.getSourcePortStart()).thenReturn(800000);
+ CreateIpv6FirewallRuleCmd cmd = createMockCreateIpv6FirewallRuleCmd(800000);
try {
ipv6Service.createIpv6FirewallRule(cmd);
} catch (NetworkRuleConflictException e) {
throw new RuntimeException(e);
}
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testStartPortCidrCreateIpv6FirewallRule() {
registerCallContext();
CreateIpv6FirewallRuleCmd cmd = Mockito.mock(CreateIpv6FirewallRuleCmd.class);
Mockito.when(cmd.getSourcePortStart()).thenReturn(800000);
try {
ipv6Service.createIpv6FirewallRule(cmd);
} catch (NetworkRuleConflictException e) {
throw new RuntimeException(e);
}
}
Reusable Method for MCI (click to expand)
private static CreateIpv6FirewallRuleCmd createMockCreateIpv6FirewallRuleCmd(int sourcePortStart) {
CreateIpv6FirewallRuleCmd cmd = Mockito.mock(CreateIpv6FirewallRuleCmd.class);
Mockito.when(cmd.getSourcePortStart()).thenReturn(sourcePortStart);
return cmd;
}
Test Case ID #cloudstack_Test_176_2
Test Case Name: testPortRangeCidrCreateIpv6FirewallRule(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\Ipv6ServiceImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
registerCallContext();
- CreateIpv6FirewallRuleCmd cmd = Mockito.mock(CreateIpv6FirewallRuleCmd.class);
- Mockito.when(cmd.getSourcePortStart()).thenReturn(900);
- Mockito.when(cmd.getSourcePortEnd()).thenReturn(800);
+ CreateIpv6FirewallRuleCmd cmd = createMockCreateIpv6FirewallRuleCmd(900);
+ Mockito.when(cmd.getSourcePortEnd()).thenReturn(800);
try {
ipv6Service.createIpv6FirewallRule(cmd);
} catch (NetworkRuleConflictException e) {
throw new RuntimeException(e);
}
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testPortRangeCidrCreateIpv6FirewallRule() {
registerCallContext();
CreateIpv6FirewallRuleCmd cmd = Mockito.mock(CreateIpv6FirewallRuleCmd.class);
Mockito.when(cmd.getSourcePortStart()).thenReturn(900);
Mockito.when(cmd.getSourcePortEnd()).thenReturn(800);
try {
ipv6Service.createIpv6FirewallRule(cmd);
} catch (NetworkRuleConflictException e) {
throw new RuntimeException(e);
}
}
Reusable Method for MCI (click to expand)
private static CreateIpv6FirewallRuleCmd createMockCreateIpv6FirewallRuleCmd(int sourcePortStart) {
CreateIpv6FirewallRuleCmd cmd = Mockito.mock(CreateIpv6FirewallRuleCmd.class);
Mockito.when(cmd.getSourcePortStart()).thenReturn(sourcePortStart);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_177
- Scope: method level
- Mocked Class:
com.cloud.network.lb.LoadBalancingRule.LbStickinessPolicy
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static LoadBalancingRule.LbStickinessPolicy createMockLbStickinessPolicy(String methodNameReturn, List<Pair<String, String>> paramsReturn) {
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
when(lbStickinessPolicy.getMethodName()).thenReturn(methodNameReturn);
when(lbStickinessPolicy.getParams()).thenReturn(paramsReturn);
return lbStickinessPolicy;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_177_1
Test Case Name: applyLBRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: lbStickinessPolicy
Suggested Diff
@@
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
- LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
- List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
+ List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
+ LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = createMockLbStickinessPolicy("AppCookie", pairList);
+ List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
- when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
- List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
- when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleSuccessTest() {
User caller = mock(User.class);
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerListenerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
LoadBalancingRule.LbSslCert lbSslCert = mock(LoadBalancingRule.LbSslCert.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
when(accountMgr.getActiveUser(anyLong())).thenReturn(caller);
when(caller.getApiKey()).thenReturn("apikey");
when(caller.getSecretKey()).thenReturn("secreatekey");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(443);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(loadBalancingRule1.getLbSslCert()).thenReturn(lbSslCert);
when(loadBalancingRule1.getUuid()).thenReturn("loadbalancingruleuuid");
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(), anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerListenerCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerListenerAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
when(tungstenService.updateLoadBalancer(any(), any())).thenReturn(true);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(EncryptionUtil.generateSignature(anyString(), anyString())).thenReturn("generatedString");
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertTrue(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private static LoadBalancingRule.LbStickinessPolicy createMockLbStickinessPolicy(String methodNameReturn, List<Pair<String, String>> paramsReturn) {
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
when(lbStickinessPolicy.getMethodName()).thenReturn(methodNameReturn);
when(lbStickinessPolicy.getParams()).thenReturn(paramsReturn);
return lbStickinessPolicy;
}
Test Case ID #cloudstack_Test_177_2
Test Case Name: applyLBRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: lbStickinessPolicy
Suggested Diff
@@
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
- LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
+ LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = createMockLbStickinessPolicy("AppCookie", pairList);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
- when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
- when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(80);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
@@
Original Test Code (click to expand)
@Test
public void applyLBRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
Ip ip = mock(Ip.class);
LoadBalancingRule loadBalancingRule1 = mock(LoadBalancingRule.class);
LoadBalancerVMMapVO loadBalancerVMMapVO = mock(LoadBalancerVMMapVO.class);
LoadBalancerVO loadBalancerVO = mock(LoadBalancerVO.class);
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
List<LoadBalancingRule> loadBalancingRuleList1 = List.of(loadBalancingRule1);
List<LoadBalancerVMMapVO> loadBalancerVMMapVOList = List.of(loadBalancerVMMapVO);
List<LoadBalancingRule.LbStickinessPolicy> lbStickinessPolicyList = List.of(lbStickinessPolicy);
List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = mock(TungstenGuestNetworkIpAddressVO.class);
TungstenAnswer createTungstenNetworkLoadbalancerAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerPoolAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenLoadBalancerMemberAnswer = mock(TungstenAnswer.class);
TungstenAnswer updateTungstenHealthMonitorAnswer = mock(TungstenAnswer.class);
List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", "cookieValue"));
TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = mock(TungstenFabricLBHealthMonitorVO.class);
when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
when(lbStickinessPolicy.getParams()).thenReturn(pairList);
when(loadBalancingRule1.getId()).thenReturn(1L);
when(loadBalancingRule1.getState()).thenReturn(FirewallRule.State.Add);
when(loadBalancingRule1.getAlgorithm()).thenReturn("roundrobin");
when(loadBalancingRule1.getSourcePortStart()).thenReturn(80);
when(loadBalancingRule1.getDefaultPortStart()).thenReturn(443);
when(loadBalancingRule1.getStickinessPolicies()).thenReturn(lbStickinessPolicyList);
when(loadBalancingRule1.getSourceIp()).thenReturn(ip);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(ipAddressVO.getAddress()).thenReturn(ip);
when(lbVmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(loadBalancerVMMapVOList);
when(tungstenGuestNetworkIpAddressVO.getGuestIpAddress()).thenReturn(ip);
when(ip.addr()).thenReturn("10.10.10.10");
when(ipAddressMgr.acquireGuestIpAddress(any(), any())).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class), anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class), anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
when(tungstenService.updateLoadBalancerSsl(any(), any())).thenReturn(false);
when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class), anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
assertFalse(tungstenElement.applyLBRules(network, loadBalancingRuleList1));
}
Reusable Method for MCI (click to expand)
private static LoadBalancingRule.LbStickinessPolicy createMockLbStickinessPolicy(String methodNameReturn, List<Pair<String, String>> paramsReturn) {
LoadBalancingRule.LbStickinessPolicy lbStickinessPolicy = mock(LoadBalancingRule.LbStickinessPolicy.class);
when(lbStickinessPolicy.getMethodName()).thenReturn(methodNameReturn);
when(lbStickinessPolicy.getParams()).thenReturn(paramsReturn);
return lbStickinessPolicy;
}
Mock Clone Instance #cloudstack_MCI_178
- Scope: method level
- Mocked Class:
com.cloud.vm.VirtualMachine
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static VirtualMachine createMockVirtualMachine() {
VirtualMachine vm = mock(VirtualMachine.class);
when(vm.getHostId()).thenReturn(1L);
return vm;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_178_1
Test Case Name: testSendStopWithOkAnswer(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
- VirtualMachine vm = mock(VirtualMachine.class);
+ VirtualMachine vm = createMockVirtualMachine();
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "ok", true);
when(profile.getVirtualMachine()).thenReturn(vm);
- when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
Assert.assertTrue(actual);
@@
Original Test Code (click to expand)
@Test
public void testSendStopWithOkAnswer() throws Exception {
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "ok", true);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
Assert.assertTrue(actual);
}
Reusable Method for MCI (click to expand)
private static VirtualMachine createMockVirtualMachine() {
VirtualMachine vm = mock(VirtualMachine.class);
when(vm.getHostId()).thenReturn(1L);
return vm;
}
Test Case ID #cloudstack_Test_178_2
Test Case Name: testSendStopWithFailAnswer(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
- VirtualMachine vm = mock(VirtualMachine.class);
+ VirtualMachine vm = createMockVirtualMachine();
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "fail", false);
when(profile.getVirtualMachine()).thenReturn(vm);
- when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
Original Test Code (click to expand)
@Test
public void testSendStopWithFailAnswer() throws Exception {
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "fail", false);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
}
Reusable Method for MCI (click to expand)
private static VirtualMachine createMockVirtualMachine() {
VirtualMachine vm = mock(VirtualMachine.class);
when(vm.getHostId()).thenReturn(1L);
return vm;
}
Test Case ID #cloudstack_Test_178_3
Test Case Name: testSendStopWithNullAnswer(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
- VirtualMachine vm = mock(VirtualMachine.class);
+ VirtualMachine vm = createMockVirtualMachine();
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
when(profile.getVirtualMachine()).thenReturn(vm);
- when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(null);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
}
@@
Original Test Code (click to expand)
@Test
public void testSendStopWithNullAnswer() throws Exception {
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(null);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
}
Reusable Method for MCI (click to expand)
private static VirtualMachine createMockVirtualMachine() {
VirtualMachine vm = mock(VirtualMachine.class);
when(vm.getHostId()).thenReturn(1L);
return vm;
}
Mock Clone Instance #cloudstack_MCI_179
- Scope: class level
- Mocked Class:
com.cloud.vm.VirtualMachine
- Test Case Count: 3
- MO Count: 6
Reusable Method
public class MockVirtualMachine {
public static VirtualMachine createMockVirtualMachine(long vmId) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
return vm;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_179_1
Test Case Name: testProcessWithEmptyPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
@Test
public void testProcessWithEmptyPlan() {
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- when(vm.getId()).thenReturn(vmId);
+ VirtualMachine vm = MockVirtualMachine.createMockVirtualMachine(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
@@
Original Test Code (click to expand)
@Test
public void testProcessWithEmptyPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachine {
public static VirtualMachine createMockVirtualMachine(long vmId) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
return vm;
}
}
Test Case ID #cloudstack_Test_179_2
Test Case Name: testProcessWithPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
public void testProcessWithPlan() {
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- when(vm.getId()).thenReturn(vmId);
+ VirtualMachine vm = MockVirtualMachine.createMockVirtualMachine(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
@@
Original Test Code (click to expand)
@Test
public void testProcessWithPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.LOWER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachine {
public static VirtualMachine createMockVirtualMachine(long vmId) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
return vm;
}
}
Test Case ID #cloudstack_Test_179_3
Test Case Name: testProcessWithNotRunningVM(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
@Test
public void testProcessWithNotRunningVM() {
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- when(vm.getId()).thenReturn(vmId);
+ VirtualMachine vm = MockVirtualMachine.createMockVirtualMachine(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
@@
Original Test Code (click to expand)
@Test
public void testProcessWithNotRunningVM() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachine {
public static VirtualMachine createMockVirtualMachine(long vmId) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
return vm;
}
}
Test Case ID #cloudstack_Test_179_4
Test Case Name: testProcessWithEmptyPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
@Test
public void testProcessWithEmptyPlan() {
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- when(vm.getId()).thenReturn(vmId);
+ VirtualMachine vm = MockVirtualMachine.createMockVirtualMachine(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
@@
Original Test Code (click to expand)
@Test
public void testProcessWithEmptyPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachine {
public static VirtualMachine createMockVirtualMachine(long vmId) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
return vm;
}
}
Test Case ID #cloudstack_Test_179_5
Test Case Name: testProcessWithPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
@Test
public void testProcessWithPlan() {
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- when(vm.getId()).thenReturn(vmId);
+ VirtualMachine vm = MockVirtualMachine.createMockVirtualMachine(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.HIGHER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Original Test Code (click to expand)
@Test
public void testProcessWithPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.HIGHER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachine {
public static VirtualMachine createMockVirtualMachine(long vmId) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
return vm;
}
}
Test Case ID #cloudstack_Test_179_6
Test Case Name: testProcessWithNotRunningVM(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
public void testProcessWithNotRunningVM() {
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- when(vm.getId()).thenReturn(vmId);
+ VirtualMachine vm = MockVirtualMachine.createMockVirtualMachine(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
Original Test Code (click to expand)
@Test
public void testProcessWithNotRunningVM() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachine {
public static VirtualMachine createMockVirtualMachine(long vmId) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
return vm;
}
}
Mock Clone Instance #cloudstack_MCI_180
- Scope: method level
- Mocked Class:
com.cloud.vm.VirtualMachine
- Test Case Count: 6
- MO Count: 6
Reusable Method
private VirtualMachine virtualMachine;
@BeforeEach
public void setUp() {
virtualMachine = Mockito.mock(VirtualMachine.class);
}
virtualMachine;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_180_1
Test Case Name: testWithSingleHost(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\ha\KVMFencerTest.java)
Mock Object Variable Name: virtualMachine
Suggested Diff
@@
Mockito.when(host.getId()).thenReturn(1l);
- VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
+ // removed local mock; replaced with global field `virtualMachine`
Mockito.when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Collections.singletonList(host));
Assert.assertFalse(fencer.fenceOff(virtualMachine, host));
Original Test Code (click to expand)
@Test
public void testWithSingleHost() {
HostVO host = Mockito.mock(HostVO.class);
Mockito.when(host.getClusterId()).thenReturn(1l);
Mockito.when(host.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(host.getDataCenterId()).thenReturn(1l);
Mockito.when(host.getPodId()).thenReturn(1l);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
Mockito.when(host.getId()).thenReturn(1l);
VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
Mockito.when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Collections.singletonList(host));
Assert.assertFalse(fencer.fenceOff(virtualMachine, host));
}
Reusable Method for MCI (click to expand)
private VirtualMachine virtualMachine;
@BeforeEach
public void setUp() {
virtualMachine = Mockito.mock(VirtualMachine.class);
}
virtualMachine;
Test Case ID #cloudstack_Test_180_2
Test Case Name: testWithSingleHostDown(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\ha\KVMFencerTest.java)
Mock Object Variable Name: virtualMachine
Suggested Diff
@@
@Test
public void testWithSingleHostDown() {
HostVO host = Mockito.mock(HostVO.class);
Mockito.when(host.getClusterId()).thenReturn(1l);
Mockito.when(host.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(host.getDataCenterId()).thenReturn(1l);
Mockito.when(host.getPodId()).thenReturn(1l);
Mockito.when(host.getStatus()).thenReturn(Status.Down);
Mockito.when(host.getId()).thenReturn(1l);
- VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
+ // removed local mock; replaced with global field `virtualMachine`
Mockito.when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Collections.singletonList(host));
Assert.assertFalse(fencer.fenceOff(virtualMachine, host));
}
Original Test Code (click to expand)
@Test
public void testWithSingleHostDown() {
HostVO host = Mockito.mock(HostVO.class);
Mockito.when(host.getClusterId()).thenReturn(1l);
Mockito.when(host.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(host.getDataCenterId()).thenReturn(1l);
Mockito.when(host.getPodId()).thenReturn(1l);
Mockito.when(host.getStatus()).thenReturn(Status.Down);
Mockito.when(host.getId()).thenReturn(1l);
VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
Mockito.when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Collections.singletonList(host));
Assert.assertFalse(fencer.fenceOff(virtualMachine, host));
}
Reusable Method for MCI (click to expand)
private VirtualMachine virtualMachine;
@BeforeEach
public void setUp() {
virtualMachine = Mockito.mock(VirtualMachine.class);
}
virtualMachine;
Test Case ID #cloudstack_Test_180_3
Test Case Name: testWithHosts(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\ha\KVMFencerTest.java)
Mock Object Variable Name: virtualMachine
Suggested Diff
@@
Mockito.when(host.getId()).thenReturn(2l);
- VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
+ // removed local mock; replaced with global field `virtualMachine`
Mockito.when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Arrays.asList(host, secondHost));
FenceAnswer answer = new FenceAnswer(null, true, "ok");
Mockito.when(agentManager.send(Matchers.anyLong(), Matchers.any(FenceCommand.class))).thenReturn(answer);
- Assert.assertTrue(fencer.fenceOff(virtualMachine, host));
+ Assert.assertTrue(fencer.fenceOff(virtualMachine, host));
Original Test Code (click to expand)
@Test
public void testWithHosts() throws AgentUnavailableException, OperationTimedoutException {
HostVO host = Mockito.mock(HostVO.class);
Mockito.when(host.getClusterId()).thenReturn(1l);
Mockito.when(host.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
Mockito.lenient().when(host.getDataCenterId()).thenReturn(1l);
Mockito.lenient().when(host.getPodId()).thenReturn(1l);
Mockito.when(host.getId()).thenReturn(1l);
HostVO secondHost = Mockito.mock(HostVO.class);
Mockito.lenient().when(secondHost.getClusterId()).thenReturn(1l);
Mockito.when(secondHost.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(secondHost.getStatus()).thenReturn(Status.Up);
Mockito.lenient().when(secondHost.getDataCenterId()).thenReturn(1l);
Mockito.lenient().when(secondHost.getPodId()).thenReturn(1l);
Mockito.when(host.getId()).thenReturn(2l);
VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
Mockito.when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Arrays.asList(host, secondHost));
FenceAnswer answer = new FenceAnswer(null, true, "ok");
Mockito.when(agentManager.send(Matchers.anyLong(), Matchers.any(FenceCommand.class))).thenReturn(answer);
Assert.assertTrue(fencer.fenceOff(virtualMachine, host));
}
Reusable Method for MCI (click to expand)
private VirtualMachine virtualMachine;
@BeforeEach
public void setUp() {
virtualMachine = Mockito.mock(VirtualMachine.class);
}
virtualMachine;
Test Case ID #cloudstack_Test_180_4
Test Case Name: testWithFailingFence(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\ha\KVMFencerTest.java)
Mock Object Variable Name: virtualMachine
Suggested Diff
@@
Mockito.when(host.getId()).thenReturn(2l);
- VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
+ // removed local mock; replaced with global field `virtualMachine`
Mockito.when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Arrays.asList(host, secondHost));
Mockito.when(agentManager.send(Matchers.anyLong(), Matchers.any(FenceCommand.class))).thenThrow(new AgentUnavailableException(2l));
Assert.assertFalse(fencer.fenceOff(virtualMachine, host));
Original Test Code (click to expand)
@Test
public void testWithFailingFence() throws AgentUnavailableException, OperationTimedoutException {
HostVO host = Mockito.mock(HostVO.class);
Mockito.when(host.getClusterId()).thenReturn(1l);
Mockito.when(host.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
Mockito.when(host.getDataCenterId()).thenReturn(1l);
Mockito.when(host.getPodId()).thenReturn(1l);
Mockito.when(host.getId()).thenReturn(1l);
HostVO secondHost = Mockito.mock(HostVO.class);
Mockito.lenient().when(secondHost.getClusterId()).thenReturn(1l);
Mockito.when(secondHost.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(secondHost.getStatus()).thenReturn(Status.Up);
Mockito.lenient().when(secondHost.getDataCenterId()).thenReturn(1l);
Mockito.lenient().when(secondHost.getPodId()).thenReturn(1l);
Mockito.when(host.getId()).thenReturn(2l);
VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
Mockito.when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Arrays.asList(host, secondHost));
Mockito.when(agentManager.send(Matchers.anyLong(), Matchers.any(FenceCommand.class))).thenThrow(new AgentUnavailableException(2l));
Assert.assertFalse(fencer.fenceOff(virtualMachine, host));
}
Reusable Method for MCI (click to expand)
private VirtualMachine virtualMachine;
@BeforeEach
public void setUp() {
virtualMachine = Mockito.mock(VirtualMachine.class);
}
virtualMachine;
Test Case ID #cloudstack_Test_180_5
Test Case Name: testWithTimeoutingFence(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\ha\KVMFencerTest.java)
Mock Object Variable Name: virtualMachine
Suggested Diff
@@
Mockito.when(host.getId()).thenReturn(2l);
- VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
+ // removed local mock; replaced with global field `virtualMachine`
Mockito.when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Arrays.asList(host, secondHost));
Mockito.when(agentManager.send(Matchers.anyLong(), Matchers.any(FenceCommand.class))).thenThrow(new OperationTimedoutException(null, 2l, 0l, 0, false));
Assert.assertFalse(fencer.fenceOff(virtualMachine, host));
Original Test Code (click to expand)
@Test
public void testWithTimeoutingFence() throws AgentUnavailableException, OperationTimedoutException {
HostVO host = Mockito.mock(HostVO.class);
Mockito.when(host.getClusterId()).thenReturn(1l);
Mockito.when(host.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(host.getStatus()).thenReturn(Status.Up);
Mockito.when(host.getDataCenterId()).thenReturn(1l);
Mockito.when(host.getPodId()).thenReturn(1l);
Mockito.when(host.getId()).thenReturn(1l);
HostVO secondHost = Mockito.mock(HostVO.class);
Mockito.lenient().when(secondHost.getClusterId()).thenReturn(1l);
Mockito.when(secondHost.getHypervisorType()).thenReturn(HypervisorType.KVM);
Mockito.when(secondHost.getStatus()).thenReturn(Status.Up);
Mockito.lenient().when(secondHost.getDataCenterId()).thenReturn(1l);
Mockito.lenient().when(secondHost.getPodId()).thenReturn(1l);
Mockito.when(host.getId()).thenReturn(2l);
VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
Mockito.when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Arrays.asList(host, secondHost));
Mockito.when(agentManager.send(Matchers.anyLong(), Matchers.any(FenceCommand.class))).thenThrow(new OperationTimedoutException(null, 2l, 0l, 0, false));
Assert.assertFalse(fencer.fenceOff(virtualMachine, host));
}
Reusable Method for MCI (click to expand)
private VirtualMachine virtualMachine;
@BeforeEach
public void setUp() {
virtualMachine = Mockito.mock(VirtualMachine.class);
}
virtualMachine;
Test Case ID #cloudstack_Test_180_6
Test Case Name: testWithSingleNotKVM(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\ha\KVMFencerTest.java)
Mock Object Variable Name: virtualMachine
Suggested Diff
@@
Mockito.lenient().when(host.getPodId()).thenReturn(1l);
- VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
+ // removed local mock; replaced with global field `virtualMachine`
Mockito.lenient().when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Collections.singletonList(host));
Assert.assertNull(fencer.fenceOff(virtualMachine, host));
Original Test Code (click to expand)
@Test
public void testWithSingleNotKVM() {
HostVO host = Mockito.mock(HostVO.class);
Mockito.lenient().when(host.getClusterId()).thenReturn(1l);
Mockito.when(host.getHypervisorType()).thenReturn(HypervisorType.Any);
Mockito.lenient().when(host.getStatus()).thenReturn(Status.Down);
Mockito.lenient().when(host.getId()).thenReturn(1l);
Mockito.lenient().when(host.getDataCenterId()).thenReturn(1l);
Mockito.lenient().when(host.getPodId()).thenReturn(1l);
VirtualMachine virtualMachine = Mockito.mock(VirtualMachine.class);
Mockito.lenient().when(resourceManager.listAllHostsInCluster(1l)).thenReturn(Collections.singletonList(host));
Assert.assertNull(fencer.fenceOff(virtualMachine, host));
}
Reusable Method for MCI (click to expand)
private VirtualMachine virtualMachine;
@BeforeEach
public void setUp() {
virtualMachine = Mockito.mock(VirtualMachine.class);
}
virtualMachine;
Mock Clone Instance #cloudstack_MCI_181
- Scope: method level
- Mocked Class:
com.cloud.vm.VirtualMachine
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static VirtualMachine createMockVirtualMachine(Long idReturn) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(idReturn);
return vm;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_181_1
Test Case Name: testPublishedEventResourceWithCallContext(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\event\ActionEventUtilsTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- Mockito.when(vm.getId()).thenReturn(resourceId);
+ VirtualMachine vm = createMockVirtualMachine(resourceId);
Mockito.when(entityMgr.validEntityType(VirtualMachine.class)).thenReturn(true);
Mockito.when(entityMgr.findByUuidIncludingRemoved(VirtualMachine.class, resourceUuid)).thenReturn(vm);
CallContext.current().putContextParameter(VirtualMachine.class, resourceUuid);
ActionEventUtils.onActionEvent(USER_ID, ACCOUNT_ID, account.getDomainId(), EventTypes.EVENT_VM_START, "Test event", null, null);
checkEventResourceAndUnregisterContext(resourceId, resourceUuid, resourceType);
@@
Original Test Code (click to expand)
@Test
public void testPublishedEventResourceWithCallContext() {
CallContext.register(user, account);
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(resourceId);
Mockito.when(entityMgr.validEntityType(VirtualMachine.class)).thenReturn(true);
Mockito.when(entityMgr.findByUuidIncludingRemoved(VirtualMachine.class, resourceUuid)).thenReturn(vm);
CallContext.current().putContextParameter(VirtualMachine.class, resourceUuid);
ActionEventUtils.onActionEvent(USER_ID, ACCOUNT_ID, account.getDomainId(), EventTypes.EVENT_VM_START, "Test event", null, null);
checkEventResourceAndUnregisterContext(resourceId, resourceUuid, resourceType);
}
Reusable Method for MCI (click to expand)
private static VirtualMachine createMockVirtualMachine(Long idReturn) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(idReturn);
return vm;
}
Test Case ID #cloudstack_Test_181_2
Test Case Name: testScheduledEvent(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\event\ActionEventUtilsTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- Mockito.when(vm.getId()).thenReturn(resourceId);
+ VirtualMachine vm = createMockVirtualMachine(resourceId);
Mockito.when(entityMgr.findByUuidIncludingRemoved(VirtualMachine.class, resourceUuid)).thenReturn(vm);
CallContext.current().putContextParameter(VirtualMachine.class, resourceUuid);
ActionEventUtils.onScheduledActionEvent(USER_ID, ACCOUNT_ID, EventTypes.EVENT_VM_START, "Test event", resourceId, resourceType, true, 0L);
Assert.assertEquals(publishedEvents.size(), 1);
Event event = publishedEvents.get(0);
JsonObject json = new JsonParser().parse(event.getDescription()).getAsJsonObject();
Assert.assertTrue(json.has("status"));
Assert.assertEquals(json.get("status").getAsString(), com.cloud.event.Event.State.Scheduled.toString());
Assert.assertEquals(persistedEvents.size(), 1);
EventVO eventVO = persistedEvents.get(0);
Assert.assertEquals(eventVO.getState(), com.cloud.event.Event.State.Scheduled);
CallContext.unregister();
@@
Original Test Code (click to expand)
@Test
public void testScheduledEvent() {
CallContext.register(user, account);
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(resourceId);
Mockito.when(entityMgr.findByUuidIncludingRemoved(VirtualMachine.class, resourceUuid)).thenReturn(vm);
CallContext.current().putContextParameter(VirtualMachine.class, resourceUuid);
ActionEventUtils.onScheduledActionEvent(USER_ID, ACCOUNT_ID, EventTypes.EVENT_VM_START, "Test event", resourceId, resourceType, true, 0L);
Assert.assertEquals(publishedEvents.size(), 1);
Event event = publishedEvents.get(0);
JsonObject json = new JsonParser().parse(event.getDescription()).getAsJsonObject();
Assert.assertTrue(json.has("status"));
Assert.assertEquals(json.get("status").getAsString(), com.cloud.event.Event.State.Scheduled.toString());
Assert.assertEquals(persistedEvents.size(), 1);
EventVO eventVO = persistedEvents.get(0);
Assert.assertEquals(eventVO.getState(), com.cloud.event.Event.State.Scheduled);
CallContext.unregister();
}
Reusable Method for MCI (click to expand)
private static VirtualMachine createMockVirtualMachine(Long idReturn) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(idReturn);
return vm;
}
Test Case ID #cloudstack_Test_181_3
Test Case Name: testCreatedEvent(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\event\ActionEventUtilsTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- Mockito.when(vm.getId()).thenReturn(resourceId);
+ VirtualMachine vm = createMockVirtualMachine(resourceId);
Mockito.when(entityMgr.findByUuidIncludingRemoved(VirtualMachine.class, resourceUuid)).thenReturn(vm);
CallContext.current().putContextParameter(VirtualMachine.class, resourceUuid);
ActionEventUtils.onCreatedActionEvent(USER_ID, ACCOUNT_ID, EventVO.LEVEL_INFO, EventTypes.EVENT_VM_START, true, "Test event", resourceId, resourceType);
@@
Original Test Code (click to expand)
@Test
public void testCreatedEvent() {
CallContext.register(user, account);
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(resourceId);
Mockito.when(entityMgr.findByUuidIncludingRemoved(VirtualMachine.class, resourceUuid)).thenReturn(vm);
CallContext.current().putContextParameter(VirtualMachine.class, resourceUuid);
ActionEventUtils.onCreatedActionEvent(USER_ID, ACCOUNT_ID, EventVO.LEVEL_INFO, EventTypes.EVENT_VM_START, true, "Test event", resourceId, resourceType);
Assert.assertEquals(publishedEvents.size(), 1);
Event event = publishedEvents.get(0);
JsonObject json = new JsonParser().parse(event.getDescription()).getAsJsonObject();
Assert.assertTrue(json.has("status"));
Assert.assertEquals(json.get("status").getAsString(), com.cloud.event.Event.State.Created.toString());
Assert.assertEquals(persistedEvents.size(), 1);
EventVO eventVO = persistedEvents.get(0);
Assert.assertEquals(eventVO.getState(), com.cloud.event.Event.State.Created);
CallContext.unregister();
}
Reusable Method for MCI (click to expand)
private static VirtualMachine createMockVirtualMachine(Long idReturn) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(idReturn);
return vm;
}
Test Case ID #cloudstack_Test_181_4
Test Case Name: testNestedEvent(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\event\ActionEventUtilsTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- Mockito.when(vm.getId()).thenReturn(resourceId);
+ VirtualMachine vm = createMockVirtualMachine(resourceId);
Mockito.when(entityMgr.findByUuidIncludingRemoved(VirtualMachine.class, resourceUuid)).thenReturn(vm);
CallContext.current().putContextParameter(VirtualMachine.class, resourceUuid);
ActionEventUtils.startNestedActionEvent(EventTypes.EVENT_VM_START, "Test event", resourceId, resourceType);
@@
Original Test Code (click to expand)
@Test
public void testNestedEvent() {
CallContext.register(user, account);
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(resourceId);
Mockito.when(entityMgr.findByUuidIncludingRemoved(VirtualMachine.class, resourceUuid)).thenReturn(vm);
CallContext.current().putContextParameter(VirtualMachine.class, resourceUuid);
ActionEventUtils.startNestedActionEvent(EventTypes.EVENT_VM_START, "Test event", resourceId, resourceType);
Assert.assertEquals(persistedEvents.size(), 1);
EventVO eventVO = persistedEvents.get(0);
Assert.assertEquals(eventVO.getState(), com.cloud.event.Event.State.Started);
CallContext.unregister();
}
Reusable Method for MCI (click to expand)
private static VirtualMachine createMockVirtualMachine(Long idReturn) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getId()).thenReturn(idReturn);
return vm;
}
Mock Clone Instance #cloudstack_MCI_182
- Scope: method level
- Mocked Class:
com.cloud.vm.VirtualMachine
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static VirtualMachine createMockVirtualMachine(String uuidReturn) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getUuid()).thenReturn(uuidReturn);
return vm;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_182_1
Test Case Name: testPublishedEventResource(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\event\ActionEventUtilsTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- Mockito.when(vm.getUuid()).thenReturn(resourceUuid);
+ VirtualMachine vm = createMockVirtualMachine(resourceUuid);
Mockito.when(entityMgr.validEntityType(VirtualMachine.class)).thenReturn(true);
Mockito.when(entityMgr.findByIdIncludingRemoved(VirtualMachine.class, resourceId)).thenReturn(vm);
ActionEventUtils.onActionEvent(USER_ID, ACCOUNT_ID, account.getDomainId(), EventTypes.EVENT_VM_START, "Test event", resourceId, resourceType);
checkEventResourceAndUnregisterContext(resourceId, resourceUuid, resourceType);
@@
Original Test Code (click to expand)
@Test
public void testPublishedEventResource() {
CallContext.register(user, account);
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getUuid()).thenReturn(resourceUuid);
Mockito.when(entityMgr.validEntityType(VirtualMachine.class)).thenReturn(true);
Mockito.when(entityMgr.findByIdIncludingRemoved(VirtualMachine.class, resourceId)).thenReturn(vm);
ActionEventUtils.onActionEvent(USER_ID, ACCOUNT_ID, account.getDomainId(), EventTypes.EVENT_VM_START, "Test event", resourceId, resourceType);
checkEventResourceAndUnregisterContext(resourceId, resourceUuid, resourceType);
}
Reusable Method for MCI (click to expand)
private static VirtualMachine createMockVirtualMachine(String uuidReturn) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getUuid()).thenReturn(uuidReturn);
return vm;
}
Test Case ID #cloudstack_Test_182_2
Test Case Name: testVmSnapshotEventResource(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\event\ActionEventUtilsTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
Mockito.when(vmSnapshot.getVmId()).thenReturn(resourceId);
- VirtualMachine vm = Mockito.mock(VirtualMachine.class);
- Mockito.when(vm.getUuid()).thenReturn(resourceUuid);
+ VirtualMachine vm = createMockVirtualMachine(resourceUuid);
Mockito.when(entityMgr.validEntityType(VMSnapshot.class)).thenReturn(true);
@@
Original Test Code (click to expand)
@Test
public void testVmSnapshotEventResource() {
CallContext.register(user, account);
final Long vmSnapshotResourceId = 100L;
final String vmSnapshotResourceType = ApiCommandResourceType.VmSnapshot.toString();
final String vmSnapshotResourceUuid = UUID.randomUUID().toString();
final Long resourceId = 1L;
final String resourceType = ApiCommandResourceType.VirtualMachine.toString();
final String resourceUuid = UUID.randomUUID().toString();
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
Mockito.when(vmSnapshot.getUuid()).thenReturn(vmSnapshotResourceUuid);
Mockito.when(vmSnapshot.getVmId()).thenReturn(resourceId);
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getUuid()).thenReturn(resourceUuid);
Mockito.when(entityMgr.validEntityType(VMSnapshot.class)).thenReturn(true);
Mockito.when(entityMgr.validEntityType(VirtualMachine.class)).thenReturn(true);
Mockito.when(entityMgr.findByIdIncludingRemoved(VMSnapshot.class, vmSnapshotResourceId)).thenReturn(vmSnapshot);
Mockito.when(entityMgr.findByIdIncludingRemoved(VirtualMachine.class, resourceId)).thenReturn(vm);
ActionEventUtils.onActionEvent(USER_ID, ACCOUNT_ID, account.getDomainId(), EventTypes.EVENT_VM_SNAPSHOT_CREATE, "Test event", vmSnapshotResourceId, vmSnapshotResourceType);
checkEventResourceAndUnregisterContext(resourceId, resourceUuid, resourceType);
}
Reusable Method for MCI (click to expand)
private static VirtualMachine createMockVirtualMachine(String uuidReturn) {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Mockito.when(vm.getUuid()).thenReturn(uuidReturn);
return vm;
}
Mock Clone Instance #cloudstack_MCI_183
- Scope: method level
- Mocked Class:
com.cloud.vm.VirtualMachineProfile
- Test Case Count: 4
- MO Count: 4
Reusable Method
private VirtualMachineProfile vmProfile;
@BeforeEach
public void setUp() {
vmProfile = mock(VirtualMachineProfile.class);
}
vmProfile;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_183_1
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
- final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
+ // removed local mock; replaced with global field `vmProfile`
final DeployDestination dest = mock(DeployDestination.class);
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private VirtualMachineProfile vmProfile;
@BeforeEach
public void setUp() {
vmProfile = mock(VirtualMachineProfile.class);
}
vmProfile;
Test Case ID #cloudstack_Test_183_2
Test Case Name: testReserveFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
- final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
+ // removed local mock; replaced with global field `vmProfile`
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
Original Test Code (click to expand)
@Test
public void testReserveFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private VirtualMachineProfile vmProfile;
@BeforeEach
public void setUp() {
vmProfile = mock(VirtualMachineProfile.class);
}
vmProfile;
Test Case ID #cloudstack_Test_183_3
Test Case Name: testDeallocate(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
- final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
+ // removed local mock; replaced with global field `vmProfile`
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
Original Test Code (click to expand)
@Test
public void testDeallocate() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final DisassociateMacFromNetworkAnswer answer = mock(DisassociateMacFromNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.deallocate(network, nic, vmProfile);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private VirtualMachineProfile vmProfile;
@BeforeEach
public void setUp() {
vmProfile = mock(VirtualMachineProfile.class);
}
vmProfile;
Test Case ID #cloudstack_Test_183_4
Test Case Name: testDeallocateFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
- final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
+ // removed local mock; replaced with global field `vmProfile`
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
Original Test Code (click to expand)
@Test
public void testDeallocateFail() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final DisassociateMacFromNetworkAnswer answer = mock(DisassociateMacFromNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.deallocate(network, nic, vmProfile);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private VirtualMachineProfile vmProfile;
@BeforeEach
public void setUp() {
vmProfile = mock(VirtualMachineProfile.class);
}
vmProfile;
Mock Clone Instance #cloudstack_MCI_184
- Scope: method level
- Mocked Class:
com.cloud.vm.VirtualMachineProfile
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static VirtualMachineProfile createMockVirtualMachineProfile(String hostName, VirtualMachine.Type type) {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn(hostName);
when(vm.getType()).thenReturn(type);
return vm;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_184_1
Test Case Name: testUpperCaseCharactersAreNotAllowed(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\globodns\src\test\java\com\globo\globodns\cloudstack\element\GloboDnsElementTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
NicProfile nic = new NicProfile();
- VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
- when(vm.getHostName()).thenReturn("UPPERCASENAME");
- when(vm.getType()).thenReturn(VirtualMachine.Type.User);
+ VirtualMachineProfile vm = createMockVirtualMachineProfile("UPPERCASENAME", VirtualMachine.Type.User);
when(_datacenterDao.findById(zoneId)).thenReturn(mock(DataCenterVO.class));
DeployDestination dest = new DeployDestination();
ReservationContext context = new ReservationContextImpl(null, null, user);
_globodnsElement.prepare(network, nic, vm, dest, context);
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testUpperCaseCharactersAreNotAllowed() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
Network network = mock(Network.class);
when(network.getDataCenterId()).thenReturn(zoneId);
when(network.getId()).thenReturn(1l);
NicProfile nic = new NicProfile();
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn("UPPERCASENAME");
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(_datacenterDao.findById(zoneId)).thenReturn(mock(DataCenterVO.class));
DeployDestination dest = new DeployDestination();
ReservationContext context = new ReservationContextImpl(null, null, user);
_globodnsElement.prepare(network, nic, vm, dest, context);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineProfile createMockVirtualMachineProfile(String hostName, VirtualMachine.Type type) {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn(hostName);
when(vm.getType()).thenReturn(type);
return vm;
}
Test Case ID #cloudstack_Test_184_2
Test Case Name: testPrepareMethodCallGloboDnsToRegisterHostName(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\globodns\src\test\java\com\globo\globodns\cloudstack\element\GloboDnsElementTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
NicProfile nic = new NicProfile();
nic.setIPv4Address("10.11.12.13");
- VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
- when(vm.getHostName()).thenReturn("vm-name");
- when(vm.getType()).thenReturn(VirtualMachine.Type.User);
+ VirtualMachineProfile vm = createMockVirtualMachineProfile("vm-name", VirtualMachine.Type.User);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterVO.getId()).thenReturn(zoneId);
when(_datacenterDao.findById(zoneId)).thenReturn(dataCenterVO);
@@
Original Test Code (click to expand)
@Test
public void testPrepareMethodCallGloboDnsToRegisterHostName() throws Exception {
Network network = mock(Network.class);
when(network.getDataCenterId()).thenReturn(zoneId);
when(network.getId()).thenReturn(1l);
NicProfile nic = new NicProfile();
nic.setIPv4Address("10.11.12.13");
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn("vm-name");
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterVO.getId()).thenReturn(zoneId);
when(_datacenterDao.findById(zoneId)).thenReturn(dataCenterVO);
DeployDestination dest = new DeployDestination();
ReservationContext context = new ReservationContextImpl(null, null, user);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(globoDnsHostId);
when(_hostDao.findByTypeNameAndZoneId(eq(zoneId), eq(Provider.GloboDns.getName()), eq(Type.L2Networking))).thenReturn(hostVO);
when(_agentMgr.easySend(eq(globoDnsHostId), isA(CreateOrUpdateRecordAndReverseCommand.class))).then(new org.mockito.stubbing.Answer<Answer>() {
@Override
public Answer answer(InvocationOnMock invocation) throws Throwable {
Command cmd = (Command) invocation.getArguments()[1];
return new Answer(cmd);
}
});
_globodnsElement.prepare(network, nic, vm, dest, context);
verify(_agentMgr, times(1)).easySend(eq(globoDnsHostId), isA(CreateOrUpdateRecordAndReverseCommand.class));
}
Reusable Method for MCI (click to expand)
private static VirtualMachineProfile createMockVirtualMachineProfile(String hostName, VirtualMachine.Type type) {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn(hostName);
when(vm.getType()).thenReturn(type);
return vm;
}
Test Case ID #cloudstack_Test_184_3
Test Case Name: testReleaseMethodCallResource(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\globodns\src\test\java\com\globo\globodns\cloudstack\element\GloboDnsElementTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
nic.setIPv4Address("10.11.12.13");
- VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
- when(vm.getHostName()).thenReturn("vm-name");
- when(vm.getType()).thenReturn(VirtualMachine.Type.User);
+ VirtualMachineProfile vm = createMockVirtualMachineProfile("vm-name", VirtualMachine.Type.User);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterVO.getId()).thenReturn(zoneId);
@@
Original Test Code (click to expand)
@Test
public void testReleaseMethodCallResource() throws Exception {
Network network = mock(Network.class);
when(network.getDataCenterId()).thenReturn(zoneId);
when(network.getId()).thenReturn(1l);
NicProfile nic = new NicProfile();
nic.setIPv4Address("10.11.12.13");
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn("vm-name");
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
DataCenterVO dataCenterVO = mock(DataCenterVO.class);
when(dataCenterVO.getId()).thenReturn(zoneId);
when(_datacenterDao.findById(zoneId)).thenReturn(dataCenterVO);
ReservationContext context = new ReservationContextImpl(null, null, user);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(globoDnsHostId);
when(_hostDao.findByTypeNameAndZoneId(eq(zoneId), eq(Provider.GloboDns.getName()), eq(Type.L2Networking))).thenReturn(hostVO);
when(_agentMgr.easySend(eq(globoDnsHostId), isA(RemoveRecordCommand.class))).then(new org.mockito.stubbing.Answer<Answer>() {
@Override
public Answer answer(InvocationOnMock invocation) throws Throwable {
Command cmd = (Command) invocation.getArguments()[1];
return new Answer(cmd);
}
});
_globodnsElement.release(network, nic, vm, context);
verify(_agentMgr, times(1)).easySend(eq(globoDnsHostId), isA(RemoveRecordCommand.class));
}
Reusable Method for MCI (click to expand)
private static VirtualMachineProfile createMockVirtualMachineProfile(String hostName, VirtualMachine.Type type) {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getHostName()).thenReturn(hostName);
when(vm.getType()).thenReturn(type);
return vm;
}
Mock Clone Instance #cloudstack_MCI_185
- Scope: class level
- Mocked Class:
com.cloud.vm.VirtualMachineProfile
- Test Case Count: 16
- MO Count: 16
Reusable Method
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_185_1
Test Case Name: preparePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: virtualMachineProfile
Suggested Diff
@@
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
- VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
- when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
+ VirtualMachineProfile virtualMachineProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
@@
Original Test Code (click to expand)
@Test
public void preparePublicNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer createTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_2
Test Case Name: prepareManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: virtualMachineProfile
Suggested Diff
@@
NicProfile nicProfile = new NicProfile();
- VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
- when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
+ VirtualMachineProfile virtualMachineProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
@@
Original Test Code (click to expand)
@Test
public void prepareManagementNetworkTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(createTungstenVMAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext));
assertEquals(Nic.ReservationStrategy.Create, nicProfile.getReservationStrategy());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN, nicProfile.getBroadcastType());
assertEquals(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"), nicProfile.getBroadCastUri());
assertEquals(TungstenUtils.DEFAULT_VHOST_INTERFACE, nicProfile.getName());
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_3
Test Case Name: prepareWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: virtualMachineProfile
Suggested Diff
@@
NicProfile nicProfile = new NicProfile();
- VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
+ VirtualMachineProfile virtualMachineProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void prepareWithExceptionTest() throws ConcurrentOperationException {
Network network = mock(Network.class);
NicProfile nicProfile = new NicProfile();
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
DeployDestination deployDestination = mock(DeployDestination.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
nicProfile.setIPv4Address("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(createTungstenVMAnswer);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
tungstenElement.prepare(network, nicProfile, virtualMachineProfile, deployDestination, reservationContext);
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_4
Test Case Name: releasePublicNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: virtualMachineProfile
Suggested Diff
@@
NicProfile nicProfile = mock(NicProfile.class);
- VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
+ VirtualMachineProfile virtualMachineProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
- when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
@@
Original Test Code (click to expand)
@Test
public void releasePublicNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteTungstenNetworkPolicyAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(ipAddressDao.findByIpAndDcId(anyLong(), anyString())).thenReturn(ipAddressVO);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class), anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_5
Test Case Name: releaseManagementNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: virtualMachineProfile
Suggested Diff
@@
NicProfile nicProfile = mock(NicProfile.class);
- VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
+ VirtualMachineProfile virtualMachineProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.SecondaryStorageVm);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
- when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
@@
Original Test Code (click to expand)
@Test
public void releaseManagementNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenReturn(deleteVmAnswer);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
when(deleteVmAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_6
Test Case Name: releaseWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: virtualMachineProfile
Suggested Diff
@@
NicProfile nicProfile = mock(NicProfile.class);
- VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
- when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
+ VirtualMachineProfile virtualMachineProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void releaseWithExceptionTest() throws ConcurrentOperationException, ResourceUnavailableException {
Network network = mock(Network.class);
NicProfile nicProfile = mock(NicProfile.class);
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
ReservationContext reservationContext = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO host = mock(HostVO.class);
TungstenAnswer deleteTungstenVRouterPortAnswer = mock(TungstenAnswer.class);
TungstenAnswer deleteVmiAnswer = mock(TungstenAnswer.class);
when(nicProfile.getIPv4Address()).thenReturn("192.168.100.100");
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(deleteTungstenVRouterPortAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong())).thenReturn(deleteVmiAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(IllegalArgumentException.class);
when(deleteTungstenVRouterPortAnswer.getResult()).thenReturn(true);
when(deleteVmiAnswer.getResult()).thenReturn(true);
tungstenElement.release(network, nicProfile, virtualMachineProfile, reservationContext);
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_7
Test Case Name: prepareMigrationTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
- VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
+ VirtualMachineProfile vm = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.ConsoleProxy);
DeployDestination dest = mock(DeployDestination.class);
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
- when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
@@
Original Test Code (click to expand)
@Test
public void prepareMigrationTest() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
DeployDestination dest = mock(DeployDestination.class);
ReservationContext context = mock(ReservationContext.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
HostVO hostVO = mock(HostVO.class);
TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(tungstenAnswer);
when(tungstenAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_8
Test Case Name: rollbackMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
Network network = mock(Network.class);
- VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
+ VirtualMachineProfile vm = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.ConsoleProxy);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
- when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.rollbackMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void rollbackMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.rollbackMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_9
Test Case Name: commitMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
- VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
+ VirtualMachineProfile vm = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.ConsoleProxy);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
- when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.commitMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void commitMigration() {
NicProfile nic = mock(NicProfile.class);
Network network = mock(Network.class);
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
ReservationContext src = mock(ReservationContext.class);
ReservationContext dest = mock(ReservationContext.class);
VirtualMachine virtualMachine = mock(VirtualMachine.class);
HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
when(vm.getVirtualMachine()).thenReturn(virtualMachine);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
tungstenElement.commitMigration(nic, network, vm, src, dest);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_10
Test Case Name: testDeallocate(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: virtualMachineProfile
Suggested Diff
@@
final Network network = mock(Network.class);
final NicProfile nicProfile = mock(NicProfile.class);
- final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
- when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
+ final VirtualMachineProfile virtualMachineProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.User);
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
guru.deallocate(network, nicProfile, virtualMachineProfile);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testDeallocate() {
final Network network = mock(Network.class);
final NicProfile nicProfile = mock(NicProfile.class);
final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
guru.deallocate(network, nicProfile, virtualMachineProfile);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong());
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVmInterfaceCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_11
Test Case Name: testDeallocateWithException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: virtualMachineProfile
Suggested Diff
@@
final Network network = mock(Network.class);
final NicProfile nicProfile = mock(NicProfile.class);
- final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(new IllegalArgumentException());
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
- when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
+ VirtualMachineProfile virtualMachineProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.User);
guru.deallocate(network, nicProfile, virtualMachineProfile);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testDeallocateWithException() {
final Network network = mock(Network.class);
final NicProfile nicProfile = mock(NicProfile.class);
final VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
final NicVO nicVO = mock(NicVO.class);
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVmCommand.class), anyLong())).thenThrow(new IllegalArgumentException());
when(nicDao.listByVmId(anyLong())).thenReturn(List.of(nicVO));
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.User);
guru.deallocate(network, nicProfile, virtualMachineProfile);
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_12
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
- final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
+ final VirtualMachineProfile vm = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
guru.reserve(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(nic.getReservationStrategy()).thenReturn(Nic.ReservationStrategy.Start);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(host);
guru.reserve(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_13
Test Case Name: testRelease(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
final NicProfile nic = mock(NicProfile.class);
- final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
+ final VirtualMachineProfile vm = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.User);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
- when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(hostDao.findById(anyLong())).thenReturn(host);
when(ipAddressDao.findByAssociatedVmId(anyLong())).thenReturn(ipAddressVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
guru.release(nic, vm, "test");
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testRelease() {
final NicProfile nic = mock(NicProfile.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final IPAddressVO ipAddressVO = mock(IPAddressVO.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO host = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(hostDao.findById(anyLong())).thenReturn(host);
when(ipAddressDao.findByAssociatedVmId(anyLong())).thenReturn(ipAddressVO);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(new NetworkVO());
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
guru.release(nic, vm, "test");
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_14
Test Case Name: testPrepareMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
- final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
- when(vm.getType()).thenReturn(VirtualMachine.Type.User);
+ final VirtualMachineProfile vm = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testPrepareMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final ReservationContext context = mock(ReservationContext.class);
final VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
final HostVO hostVO = mock(HostVO.class);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong())).thenReturn(new TungstenAnswer(new TungstenCommand(), true, ""));
guru.prepareMigration(nic, network, vm, dest, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_15
Test Case Name: testRollbackMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
- final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
+ final VirtualMachineProfile vmProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.rollbackMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testRollbackMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.rollbackMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Test Case ID #cloudstack_Test_185_16
Test Case Name: testCommitMigration(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenGuestNetworkGuruTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
- final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
+ final VirtualMachineProfile vmProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(VirtualMachine.Type.User);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
- when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.commitMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
@@
Original Test Code (click to expand)
@Test
public void testCommitMigration() {
final NicProfile nic = mock(NicProfile.class);
final Network network = mock(Network.class);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final ReservationContext context = mock(ReservationContext.class);
final VirtualMachine vm = mock(VirtualMachine.class);
final HostVO hostVO = mock(HostVO.class);
when(vmProfile.getType()).thenReturn(VirtualMachine.Type.User);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(hostDao.findById(anyLong())).thenReturn(hostVO);
guru.commitMigration(nic, network, vmProfile, context, context);
verify(tungstenFabricUtils, times(1)).sendTungstenCommand(any(DeleteTungstenVRouterPortCommand.class), anyLong());
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile virtualMachineProfile = mock(VirtualMachineProfile.class);
when(virtualMachineProfile.getType()).thenReturn(type);
return virtualMachineProfile;
}
}
Mock Clone Instance #cloudstack_MCI_186
- Scope: method level
- Mocked Class:
com.cloud.vm.VirtualMachineProfile
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
when(profile.getVirtualMachine()).thenReturn(vm);
return profile;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_186_1
Test Case Name: testSendStopWithOkAnswer(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: profile
Suggested Diff
@@
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
- VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "ok", true);
- when(profile.getVirtualMachine()).thenReturn(vm);
+ VirtualMachineProfile profile = createMockVirtualMachineProfile(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
Assert.assertTrue(actual);
}
Original Test Code (click to expand)
@Test
public void testSendStopWithOkAnswer() throws Exception {
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "ok", true);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
Assert.assertTrue(actual);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
when(profile.getVirtualMachine()).thenReturn(vm);
return profile;
}
Test Case ID #cloudstack_Test_186_2
Test Case Name: testSendStopWithFailAnswer(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: profile
Suggested Diff
@@
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
- VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "fail", false);
- when(profile.getVirtualMachine()).thenReturn(vm);
+ VirtualMachineProfile profile = createMockVirtualMachineProfile(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
@@
Original Test Code (click to expand)
@Test
public void testSendStopWithFailAnswer() throws Exception {
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
StopAnswer answer = new StopAnswer(new StopCommand(vm, false, false), "fail", false);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(answer);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
when(profile.getVirtualMachine()).thenReturn(vm);
return profile;
}
Test Case ID #cloudstack_Test_186_3
Test Case Name: testSendStopWithNullAnswer(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: profile
Suggested Diff
@@
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
- VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
- when(profile.getVirtualMachine()).thenReturn(vm);
+ VirtualMachineProfile profile = createMockVirtualMachineProfile(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(null);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
}
@@
Original Test Code (click to expand)
@Test
public void testSendStopWithNullAnswer() throws Exception {
VirtualMachineGuru guru = mock(VirtualMachineGuru.class);
VirtualMachine vm = mock(VirtualMachine.class);
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
when(profile.getVirtualMachine()).thenReturn(vm);
when(vm.getHostId()).thenReturn(1L);
when(agentManagerMock.send(anyLong(), (Command) any())).thenReturn(null);
boolean actual = virtualMachineManagerImpl.sendStop(guru, profile, false, false);
assertFalse(actual);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile profile = mock(VirtualMachineProfile.class);
when(profile.getVirtualMachine()).thenReturn(vm);
return profile;
}
Mock Clone Instance #cloudstack_MCI_187
- Scope: method level
- Mocked Class:
com.cloud.vm.VirtualMachineProfile
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getType()).thenReturn(type);
return vm;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_187_1
Test Case Name: testRemoveDhcpServiceWithNic(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\org\apache\cloudstack\engine\orchestration\NetworkOrchestratorTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
// make local mocks
- VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
+ VirtualMachineProfile vm = createMockVirtualMachineProfile(Type.User);
NicVO nic = mock(NicVO.class);
NetworkVO network = mock(NetworkVO.class);
// make sure that release dhcp will be called
- when(vm.getType()).thenReturn(Type.User);
when(testOrchastrator._networkModel.areServicesSupportedInNetwork(network.getId(), Service.Dhcp)).thenReturn(true);
when(network.getTrafficType()).thenReturn(TrafficType.Guest);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(testOrchastrator._nicDao.listByNetworkIdTypeAndGatewayAndBroadcastUri(nic.getNetworkId(), VirtualMachine.Type.User, nic.getIPv4Gateway(), nic.getBroadcastUri())).thenReturn(new ArrayList<NicVO>());
when(network.getGuruName()).thenReturn(guruName);
when(testOrchastrator._networksDao.findById(nic.getNetworkId())).thenReturn(network);
testOrchastrator.removeNic(vm, nic);
verify(nic, times(1)).setState(Nic.State.Deallocating);
verify(testOrchastrator._networkModel, times(2)).getElementImplementingProvider(dhcpProvider);
verify(testOrchastrator._ntwkSrvcDao, times(2)).getProviderForServiceInNetwork(network.getId(), Service.Dhcp);
verify(testOrchastrator._networksDao, times(2)).findById(nic.getNetworkId());
@@
Original Test Code (click to expand)
@Test
public void testRemoveDhcpServiceWithNic() {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
NicVO nic = mock(NicVO.class);
NetworkVO network = mock(NetworkVO.class);
when(vm.getType()).thenReturn(Type.User);
when(testOrchastrator._networkModel.areServicesSupportedInNetwork(network.getId(), Service.Dhcp)).thenReturn(true);
when(network.getTrafficType()).thenReturn(TrafficType.Guest);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(testOrchastrator._nicDao.listByNetworkIdTypeAndGatewayAndBroadcastUri(nic.getNetworkId(), VirtualMachine.Type.User, nic.getIPv4Gateway(), nic.getBroadcastUri())).thenReturn(new ArrayList<NicVO>());
when(network.getGuruName()).thenReturn(guruName);
when(testOrchastrator._networksDao.findById(nic.getNetworkId())).thenReturn(network);
testOrchastrator.removeNic(vm, nic);
verify(nic, times(1)).setState(Nic.State.Deallocating);
verify(testOrchastrator._networkModel, times(2)).getElementImplementingProvider(dhcpProvider);
verify(testOrchastrator._ntwkSrvcDao, times(2)).getProviderForServiceInNetwork(network.getId(), Service.Dhcp);
verify(testOrchastrator._networksDao, times(2)).findById(nic.getNetworkId());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getType()).thenReturn(type);
return vm;
}
Test Case ID #cloudstack_Test_187_2
Test Case Name: testDontRemoveDhcpServiceFromDomainRouter(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\org\apache\cloudstack\engine\orchestration\NetworkOrchestratorTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
// make local mocks
- VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
+ VirtualMachineProfile vm = createMockVirtualMachineProfile(Type.DomainRouter);
NicVO nic = mock(NicVO.class);
NetworkVO network = mock(NetworkVO.class);
// make sure that release dhcp won't be called
- when(vm.getType()).thenReturn(Type.DomainRouter);
when(network.getGuruName()).thenReturn(guruName);
when(testOrchastrator._networksDao.findById(nic.getNetworkId())).thenReturn(network);
testOrchastrator.removeNic(vm, nic);
verify(nic, times(1)).setState(Nic.State.Deallocating);
verify(testOrchastrator._networkModel, never()).getElementImplementingProvider(dhcpProvider);
verify(testOrchastrator._ntwkSrvcDao, never()).getProviderForServiceInNetwork(network.getId(), Service.Dhcp);
verify(testOrchastrator._networksDao, times(1)).findById(nic.getNetworkId());
@@
Original Test Code (click to expand)
@Test
public void testDontRemoveDhcpServiceFromDomainRouter() {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
NicVO nic = mock(NicVO.class);
NetworkVO network = mock(NetworkVO.class);
when(vm.getType()).thenReturn(Type.DomainRouter);
when(network.getGuruName()).thenReturn(guruName);
when(testOrchastrator._networksDao.findById(nic.getNetworkId())).thenReturn(network);
testOrchastrator.removeNic(vm, nic);
verify(nic, times(1)).setState(Nic.State.Deallocating);
verify(testOrchastrator._networkModel, never()).getElementImplementingProvider(dhcpProvider);
verify(testOrchastrator._ntwkSrvcDao, never()).getProviderForServiceInNetwork(network.getId(), Service.Dhcp);
verify(testOrchastrator._networksDao, times(1)).findById(nic.getNetworkId());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getType()).thenReturn(type);
return vm;
}
Test Case ID #cloudstack_Test_187_3
Test Case Name: testDontRemoveDhcpServiceWhenNotProvided(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\org\apache\cloudstack\engine\orchestration\NetworkOrchestratorTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
// make local mocks
- VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
+ VirtualMachineProfile vm = createMockVirtualMachineProfile(Type.User);
NicVO nic = mock(NicVO.class);
NetworkVO network = mock(NetworkVO.class);
// make sure that release dhcp will *not* be called
- when(vm.getType()).thenReturn(Type.User);
when(testOrchastrator._networkModel.areServicesSupportedInNetwork(network.getId(), Service.Dhcp)).thenReturn(false);
when(network.getGuruName()).thenReturn(guruName);
when(testOrchastrator._networksDao.findById(nic.getNetworkId())).thenReturn(network);
testOrchastrator.removeNic(vm, nic);
verify(nic, times(1)).setState(Nic.State.Deallocating);
verify(testOrchastrator._networkModel, never()).getElementImplementingProvider(dhcpProvider);
verify(testOrchastrator._ntwkSrvcDao, never()).getProviderForServiceInNetwork(network.getId(), Service.Dhcp);
verify(testOrchastrator._networksDao, times(1)).findById(nic.getNetworkId());
@@
Original Test Code (click to expand)
@Test
public void testDontRemoveDhcpServiceWhenNotProvided() {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
NicVO nic = mock(NicVO.class);
NetworkVO network = mock(NetworkVO.class);
when(vm.getType()).thenReturn(Type.User);
when(testOrchastrator._networkModel.areServicesSupportedInNetwork(network.getId(), Service.Dhcp)).thenReturn(false);
when(network.getGuruName()).thenReturn(guruName);
when(testOrchastrator._networksDao.findById(nic.getNetworkId())).thenReturn(network);
testOrchastrator.removeNic(vm, nic);
verify(nic, times(1)).setState(Nic.State.Deallocating);
verify(testOrchastrator._networkModel, never()).getElementImplementingProvider(dhcpProvider);
verify(testOrchastrator._ntwkSrvcDao, never()).getProviderForServiceInNetwork(network.getId(), Service.Dhcp);
verify(testOrchastrator._networksDao, times(1)).findById(nic.getNetworkId());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getType()).thenReturn(type);
return vm;
}
Test Case ID #cloudstack_Test_187_4
Test Case Name: testDontReleaseNicWhenPreserveNicsSettingEnabled(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\org\apache\cloudstack\engine\orchestration\NetworkOrchestratorTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
@Test
public void testDontReleaseNicWhenPreserveNicsSettingEnabled() {
- VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
+ VirtualMachineProfile vm = createMockVirtualMachineProfile(Type.User);
NicVO nic = mock(NicVO.class);
NetworkVO network = mock(NetworkVO.class);
- when(vm.getType()).thenReturn(Type.User);
when(network.getGuruName()).thenReturn(guruName);
when(testOrchastrator._networksDao.findById(nic.getNetworkId())).thenReturn(network);
Long nicId = 1L;
when(nic.getId()).thenReturn(nicId);
when(vm.getParameter(VirtualMachineProfile.Param.PreserveNics)).thenReturn(true);
testOrchastrator.removeNic(vm, nic);
verify(nic, never()).setState(Nic.State.Deallocating);
verify(testOrchastrator._nicDao, never()).remove(nicId);
@@
Original Test Code (click to expand)
@Test
public void testDontReleaseNicWhenPreserveNicsSettingEnabled() {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
NicVO nic = mock(NicVO.class);
NetworkVO network = mock(NetworkVO.class);
when(vm.getType()).thenReturn(Type.User);
when(network.getGuruName()).thenReturn(guruName);
when(testOrchastrator._networksDao.findById(nic.getNetworkId())).thenReturn(network);
Long nicId = 1L;
when(nic.getId()).thenReturn(nicId);
when(vm.getParameter(VirtualMachineProfile.Param.PreserveNics)).thenReturn(true);
testOrchastrator.removeNic(vm, nic);
verify(nic, never()).setState(Nic.State.Deallocating);
verify(testOrchastrator._nicDao, never()).remove(nicId);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine.Type type) {
VirtualMachineProfile vm = mock(VirtualMachineProfile.class);
when(vm.getType()).thenReturn(type);
return vm;
}
Mock Clone Instance #cloudstack_MCI_188
- Scope: method level
- Mocked Class:
com.cloud.vm.VirtualMachineProfile
- Test Case Count: 3
- MO Count: 3
Reusable Method
private VirtualMachineProfile profileMock;
@BeforeEach
public void setUp() {
profileMock = mock(VirtualMachineProfile.class);
}
profileMock
The refactoring details in each test cases
Test Case ID #cloudstack_Test_188_1
Test Case Name: testFinalizeStartWhenCmdsAnswerIsNull(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\elastic-loadbalancer\src\test\java\com\cloud\network\lb\ElasticLoadBalancerManagerImplTest.java)
Mock Object Variable Name: profileMock
Suggested Diff
@@
@Test
public void testFinalizeStartWhenCmdsAnswerIsNull() throws Exception {
- VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
+ // removed local mock; replaced with global field `profileMock`
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(null);
ReservationContext context = mock(ReservationContext.class);
boolean expected = false;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Original Test Code (click to expand)
@Test
public void testFinalizeStartWhenCmdsAnswerIsNull() throws Exception {
VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(null);
ReservationContext context = mock(ReservationContext.class);
boolean expected = false;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Reusable Method for MCI (click to expand)
private VirtualMachineProfile profileMock;
@BeforeEach
public void setUp() {
profileMock = mock(VirtualMachineProfile.class);
}
profileMock
Test Case ID #cloudstack_Test_188_2
Test Case Name: testFinalizeStartWhenCmdsAnswerIsNotNullButAnswerResultIsFalse(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\elastic-loadbalancer\src\test\java\com\cloud\network\lb\ElasticLoadBalancerManagerImplTest.java)
Mock Object Variable Name: profileMock
Suggested Diff
@@
@Test
public void testFinalizeStartWhenCmdsAnswerIsNotNullButAnswerResultIsFalse() throws Exception {
CheckSshAnswer answerMock = mock(CheckSshAnswer.class);
when(answerMock.getResult()).thenReturn(false);
- VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
+ // removed local mock; replaced with global field `profileMock`
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
ReservationContext context = mock(ReservationContext.class);
boolean expected = false;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Original Test Code (click to expand)
@Test
public void testFinalizeStartWhenCmdsAnswerIsNotNullButAnswerResultIsFalse() throws Exception {
CheckSshAnswer answerMock = mock(CheckSshAnswer.class);
when(answerMock.getResult()).thenReturn(false);
VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
ReservationContext context = mock(ReservationContext.class);
boolean expected = false;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Reusable Method for MCI (click to expand)
private VirtualMachineProfile profileMock;
@BeforeEach
public void setUp() {
profileMock = mock(VirtualMachineProfile.class);
}
profileMock
Test Case ID #cloudstack_Test_188_3
Test Case Name: testFinalizeStartWhenCmdsAnswerIsNotNullAndAnswerResultIsTrue(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\elastic-loadbalancer\src\test\java\com\cloud\network\lb\ElasticLoadBalancerManagerImplTest.java)
Mock Object Variable Name: profileMock
Suggested Diff
@@
@Test
public void testFinalizeStartWhenCmdsAnswerIsNotNullAndAnswerResultIsTrue() throws Exception {
CheckSshAnswer answerMock = mock(CheckSshAnswer.class);
when(answerMock.getResult()).thenReturn(true);
- VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
+ // removed local mock; replaced with global field `profileMock`
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
ReservationContext context = mock(ReservationContext.class);
boolean expected = true;
- boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
+ boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Original Test Code (click to expand)
@Test
public void testFinalizeStartWhenCmdsAnswerIsNotNullAndAnswerResultIsTrue() throws Exception {
CheckSshAnswer answerMock = mock(CheckSshAnswer.class);
when(answerMock.getResult()).thenReturn(true);
VirtualMachineProfile profileMock = mock(VirtualMachineProfile.class);
long hostId = 1L;
Commands cmds = mock(Commands.class);
when(cmds.getAnswer("checkSsh")).thenReturn(answerMock);
ReservationContext context = mock(ReservationContext.class);
boolean expected = true;
boolean actual = elasticLoadBalancerManagerImpl.finalizeStart(profileMock, hostId, cmds, context);
assertEquals(expected, actual);
}
Reusable Method for MCI (click to expand)
private VirtualMachineProfile profileMock;
@BeforeEach
public void setUp() {
profileMock = mock(VirtualMachineProfile.class);
}
profileMock
Mock Clone Instance #cloudstack_MCI_189
- Scope: class level
- Mocked Class:
com.cloud.vm.VirtualMachineProfile
- Test Case Count: 3
- MO Count: 6
Reusable Method
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
return vmProfile;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_189_1
Test Case Name: testProcessWithEmptyPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
- VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
- when(vmProfile.getVirtualMachine()).thenReturn(vm);
+ VirtualMachineProfile vmProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithEmptyPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
return vmProfile;
}
}
Test Case ID #cloudstack_Test_189_2
Test Case Name: testProcessWithPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
- VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
- when(vmProfile.getVirtualMachine()).thenReturn(vm);
+ VirtualMachineProfile vmProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
@@
Original Test Code (click to expand)
@Test
public void testProcessWithPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.LOWER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
return vmProfile;
}
}
Test Case ID #cloudstack_Test_189_3
Test Case Name: testProcessWithNotRunningVM(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAffinityProcessorTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
when(vm.getId()).thenReturn(vmId);
- VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
- when(vmProfile.getVirtualMachine()).thenReturn(vm);
+ VirtualMachineProfile vmProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
@@
Original Test Code (click to expand)
@Test
public void testProcessWithNotRunningVM() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
return vmProfile;
}
}
Test Case ID #cloudstack_Test_189_4
Test Case Name: testProcessWithEmptyPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
- VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
- when(vmProfile.getVirtualMachine()).thenReturn(vm);
+ VirtualMachineProfile vmProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithEmptyPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
return vmProfile;
}
}
Test Case ID #cloudstack_Test_189_5
Test Case Name: testProcessWithPlan(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
- VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
- when(vmProfile.getVirtualMachine()).thenReturn(vm);
+ VirtualMachineProfile vmProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
@@
Original Test Code (click to expand)
@Test
public void testProcessWithPlan() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
plan.adjustHostPriority(host2Id, DeploymentPlan.HostPriorityAdjustment.DEFAULT);
plan.adjustHostPriority(host3Id, DeploymentPlan.HostPriorityAdjustment.HIGHER);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id, vm3Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = new VMInstanceVO();
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
vm2.setHostId(host2Id);
VMInstanceVO vm3 = new VMInstanceVO();
when(vmInstanceDao.findById(vm3Id)).thenReturn(vm3);
vm3.setHostId(host3Id);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(2, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
Assert.assertNotNull(plan.getHostPriorities().get(host3Id));
Assert.assertEquals(Integer.valueOf(0), plan.getHostPriorities().get(host3Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
return vmProfile;
}
}
Test Case ID #cloudstack_Test_189_6
Test Case Name: testProcessWithNotRunningVM(File: C:\Java_projects\Apache\cloudstack\plugins\affinity-group-processors\non-strict-host-anti-affinity\src\test\java\org\apache\cloudstack\affinity\NonStrictHostAntiAffinityProcessorTest.java)
Mock Object Variable Name: vmProfile
Suggested Diff
@@
when(vm.getId()).thenReturn(vmId);
- VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
- when(vmProfile.getVirtualMachine()).thenReturn(vm);
+ VirtualMachineProfile vmProfile = MockVirtualMachineProfile.createMockVirtualMachineProfile(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
@@
Original Test Code (click to expand)
@Test
public void testProcessWithNotRunningVM() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
when(vm.getId()).thenReturn(vmId);
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
List<AffinityGroupVMMapVO> vmGroupMappings = new ArrayList<>();
vmGroupMappings.add(new AffinityGroupVMMapVO(affinityGroupId, vmId));
when(_affinityGroupVMMapDao.findByVmIdType(eq(vmId), nullable(String.class))).thenReturn(vmGroupMappings);
DataCenterDeployment plan = new DataCenterDeployment(zoneId);
ExcludeList avoid = new ExcludeList();
AffinityGroupVO affinityGroupVO = Mockito.mock(AffinityGroupVO.class);
when(affinityGroupDao.findById(affinityGroupId)).thenReturn(affinityGroupVO);
when(affinityGroupVO.getId()).thenReturn(affinityGroupId);
List<Long> groupVMIds = new ArrayList<>(Arrays.asList(vmId, vm2Id));
when(_affinityGroupVMMapDao.listVmIdsByAffinityGroup(affinityGroupId)).thenReturn(groupVMIds);
VMInstanceVO vm2 = Mockito.mock(VMInstanceVO.class);
when(vmInstanceDao.findById(vm2Id)).thenReturn(vm2);
when(vm2.getHostId()).thenReturn(null);
when(vm2.getLastHostId()).thenReturn(host2Id);
when(vm2.getState()).thenReturn(VirtualMachine.State.Starting);
when(vm2.getUpdateTime()).thenReturn(new Date());
ReflectionTestUtils.setField(processor, "vmCapacityReleaseInterval", 3600);
processor.process(vmProfile, plan, avoid);
Assert.assertEquals(1, plan.getHostPriorities().size());
Assert.assertNotNull(plan.getHostPriorities().get(host2Id));
Assert.assertEquals(Integer.valueOf(-1), plan.getHostPriorities().get(host2Id));
}
Reusable Method for MCI (click to expand)
public class MockVirtualMachineProfile {
public static VirtualMachineProfile createMockVirtualMachineProfile(VirtualMachine vm) {
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
return vmProfile;
}
}
Mock Clone Instance #cloudstack_MCI_190
- Scope: method level
- Mocked Class:
VmStatsVO
- Test Case Count: 1
- MO Count: 2
Reusable Method
private static VmStatsVO createMockVmStatsVo(String vmStatsDataReturn) {
VmStatsVO vmStatsVo = Mockito.mock(VmStatsVO.class);
Mockito.doReturn(vmStatsDataReturn).when(vmStatsVo).getVmStatsData();
return vmStatsVo;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_190_1
Test Case Name: accumulateVmMetricsStatsTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\StatsCollectorTest.java)
Mock Object Variable Name: vmStatsVoMock1
Suggested Diff
@@
String fakeStatsData1 = "{\"vmId\":1,\"cpuUtilization\":1.0,\"networkReadKBs\":1.0," + "\"networkWriteKBs\":1.1,\"diskReadIOs\":3.0,\"diskWriteIOs\":3.1,\"diskReadKBs\":2.0," + "\"diskWriteKBs\":2.1,\"memoryKBs\":1.0,\"intFreeMemoryKBs\":1.0," + "\"targetMemoryKBs\":1.0,\"numCPUs\":1,\"entityType\":\"vm\"}";
String fakeStatsData2 = "{\"vmId\":1,\"cpuUtilization\":10.0,\"networkReadKBs\":1.0," + "\"networkWriteKBs\":1.1,\"diskReadIOs\":3.0,\"diskWriteIOs\":3.1,\"diskReadKBs\":2.0," + "\"diskWriteKBs\":2.1,\"memoryKBs\":1.0,\"intFreeMemoryKBs\":1.0," + "\"targetMemoryKBs\":1.0,\"numCPUs\":1,\"entityType\":\"vm\"}";
- Mockito.doReturn(fakeStatsData1).when(vmStatsVoMock1).getVmStatsData();
+ vmStatsVoMock1 = createMockVmStatsVo(fakeStatsData1);
Mockito.doReturn(fakeStatsData2).when(vmStatsVoMock2).getVmStatsData();
VmStatsEntry result = statsCollector.accumulateVmMetricsStats(new ArrayList<VmStatsVO>(Arrays.asList(vmStatsVoMock1, vmStatsVoMock2)));
Original Test Code (click to expand)
@Test
public void accumulateVmMetricsStatsTest() {
String fakeStatsData1 = "{\"vmId\":1,\"cpuUtilization\":1.0,\"networkReadKBs\":1.0," + "\"networkWriteKBs\":1.1,\"diskReadIOs\":3.0,\"diskWriteIOs\":3.1,\"diskReadKBs\":2.0," + "\"diskWriteKBs\":2.1,\"memoryKBs\":1.0,\"intFreeMemoryKBs\":1.0," + "\"targetMemoryKBs\":1.0,\"numCPUs\":1,\"entityType\":\"vm\"}";
String fakeStatsData2 = "{\"vmId\":1,\"cpuUtilization\":10.0,\"networkReadKBs\":1.0," + "\"networkWriteKBs\":1.1,\"diskReadIOs\":3.0,\"diskWriteIOs\":3.1,\"diskReadKBs\":2.0," + "\"diskWriteKBs\":2.1,\"memoryKBs\":1.0,\"intFreeMemoryKBs\":1.0," + "\"targetMemoryKBs\":1.0,\"numCPUs\":1,\"entityType\":\"vm\"}";
Mockito.doReturn(fakeStatsData1).when(vmStatsVoMock1).getVmStatsData();
Mockito.doReturn(fakeStatsData2).when(vmStatsVoMock2).getVmStatsData();
VmStatsEntry result = statsCollector.accumulateVmMetricsStats(new ArrayList<VmStatsVO>(Arrays.asList(vmStatsVoMock1, vmStatsVoMock2)));
Assert.assertEquals("vm", result.getEntityType());
Assert.assertEquals(1, result.getVmId());
Assert.assertEquals(1.0, result.getCPUUtilization(), 0);
Assert.assertEquals(1, result.getNumCPUs());
Assert.assertEquals(1.0, result.getMemoryKBs(), 0);
Assert.assertEquals(1.0, result.getIntFreeMemoryKBs(), 0);
Assert.assertEquals(1.0, result.getTargetMemoryKBs(), 0);
Assert.assertEquals(2.0, result.getNetworkReadKBs(), 0);
Assert.assertEquals(2.2, result.getNetworkWriteKBs(), 0);
Assert.assertEquals(4.0, result.getDiskReadKBs(), 0);
Assert.assertEquals(4.2, result.getDiskWriteKBs(), 0);
Assert.assertEquals(6.0, result.getDiskReadIOs(), 0);
Assert.assertEquals(6.2, result.getDiskWriteIOs(), 0);
}
Reusable Method for MCI (click to expand)
private static VmStatsVO createMockVmStatsVo(String vmStatsDataReturn) {
VmStatsVO vmStatsVo = Mockito.mock(VmStatsVO.class);
Mockito.doReturn(vmStatsDataReturn).when(vmStatsVo).getVmStatsData();
return vmStatsVo;
}
Test Case ID #cloudstack_Test_190_2
Test Case Name: accumulateVmMetricsStatsTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\StatsCollectorTest.java)
Mock Object Variable Name: vmStatsVoMock2
Suggested Diff
@@
String fakeStatsData1 = "{\"vmId\":1,\"cpuUtilization\":1.0,\"networkReadKBs\":1.0," + "\"networkWriteKBs\":1.1,\"diskReadIOs\":3.0,\"diskWriteIOs\":3.1,\"diskReadKBs\":2.0," + "\"diskWriteKBs\":2.1,\"memoryKBs\":1.0,\"intFreeMemoryKBs\":1.0," + "\"targetMemoryKBs\":1.0,\"numCPUs\":1,\"entityType\":\"vm\"}";
String fakeStatsData2 = "{\"vmId\":1,\"cpuUtilization\":10.0,\"networkReadKBs\":1.0," + "\"networkWriteKBs\":1.1,\"diskReadIOs\":3.0,\"diskWriteIOs\":3.1,\"diskReadKBs\":2.0," + "\"diskWriteKBs\":2.1,\"memoryKBs\":1.0,\"intFreeMemoryKBs\":1.0," + "\"targetMemoryKBs\":1.0,\"numCPUs\":1,\"entityType\":\"vm\"}";
Mockito.doReturn(fakeStatsData1).when(vmStatsVoMock1).getVmStatsData();
- Mockito.doReturn(fakeStatsData2).when(vmStatsVoMock2).getVmStatsData();
+ vmStatsVoMock2 = createMockVmStatsVo(fakeStatsData2);
VmStatsEntry result = statsCollector.accumulateVmMetricsStats(new ArrayList<VmStatsVO>(Arrays.asList(vmStatsVoMock1, vmStatsVoMock2)));
Original Test Code (click to expand)
@Test
public void accumulateVmMetricsStatsTest() {
String fakeStatsData1 = "{\"vmId\":1,\"cpuUtilization\":1.0,\"networkReadKBs\":1.0," + "\"networkWriteKBs\":1.1,\"diskReadIOs\":3.0,\"diskWriteIOs\":3.1,\"diskReadKBs\":2.0," + "\"diskWriteKBs\":2.1,\"memoryKBs\":1.0,\"intFreeMemoryKBs\":1.0," + "\"targetMemoryKBs\":1.0,\"numCPUs\":1,\"entityType\":\"vm\"}";
String fakeStatsData2 = "{\"vmId\":1,\"cpuUtilization\":10.0,\"networkReadKBs\":1.0," + "\"networkWriteKBs\":1.1,\"diskReadIOs\":3.0,\"diskWriteIOs\":3.1,\"diskReadKBs\":2.0," + "\"diskWriteKBs\":2.1,\"memoryKBs\":1.0,\"intFreeMemoryKBs\":1.0," + "\"targetMemoryKBs\":1.0,\"numCPUs\":1,\"entityType\":\"vm\"}";
Mockito.doReturn(fakeStatsData1).when(vmStatsVoMock1).getVmStatsData();
Mockito.doReturn(fakeStatsData2).when(vmStatsVoMock2).getVmStatsData();
VmStatsEntry result = statsCollector.accumulateVmMetricsStats(new ArrayList<VmStatsVO>(Arrays.asList(vmStatsVoMock1, vmStatsVoMock2)));
Assert.assertEquals("vm", result.getEntityType());
Assert.assertEquals(1, result.getVmId());
Assert.assertEquals(1.0, result.getCPUUtilization(), 0);
Assert.assertEquals(1, result.getNumCPUs());
Assert.assertEquals(1.0, result.getMemoryKBs(), 0);
Assert.assertEquals(1.0, result.getIntFreeMemoryKBs(), 0);
Assert.assertEquals(1.0, result.getTargetMemoryKBs(), 0);
Assert.assertEquals(2.0, result.getNetworkReadKBs(), 0);
Assert.assertEquals(2.2, result.getNetworkWriteKBs(), 0);
Assert.assertEquals(4.0, result.getDiskReadKBs(), 0);
Assert.assertEquals(4.2, result.getDiskWriteKBs(), 0);
Assert.assertEquals(6.0, result.getDiskReadIOs(), 0);
Assert.assertEquals(6.2, result.getDiskWriteIOs(), 0);
}
Reusable Method for MCI (click to expand)
private static VmStatsVO createMockVmStatsVo(String vmStatsDataReturn) {
VmStatsVO vmStatsVo = Mockito.mock(VmStatsVO.class);
Mockito.doReturn(vmStatsDataReturn).when(vmStatsVo).getVmStatsData();
return vmStatsVo;
}
Mock Clone Instance #cloudstack_MCI_191
- Scope: method level
- Mocked Class:
com.cloud.deploy.DataCenterDeployment
- Test Case Count: 4
- MO Count: 4
Reusable Method
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_191_1
Mock Object Variable Name: plan
Suggested Diff
@@
@Test
public void checkClusterReorderingBasedOnImplicitHostTags() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
- DataCenterDeployment plan = mock(DataCenterDeployment.class);
+ // removed local mock; replaced with global field `plan`
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
List<Long> reorderedClusterList = new ArrayList<Long>();
reorderedClusterList.add(4L);
reorderedClusterList.add(3L);
reorderedClusterList.add(1L);
reorderedClusterList.add(5L);
reorderedClusterList.add(6L);
reorderedClusterList.add(2L);
assertTrue("Reordered cluster list is not honoring the implict host tags", (clusterList.equals(reorderedClusterList)));
}
Original Test Code (click to expand)
@Test
public void checkClusterReorderingBasedOnImplicitHostTags() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
List<Long> reorderedClusterList = new ArrayList<Long>();
reorderedClusterList.add(4L);
reorderedClusterList.add(3L);
reorderedClusterList.add(1L);
reorderedClusterList.add(5L);
reorderedClusterList.add(6L);
reorderedClusterList.add(2L);
assertTrue("Reordered cluster list is not honoring the implict host tags", (clusterList.equals(reorderedClusterList)));
}
Reusable Method for MCI (click to expand)
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
Test Case ID #cloudstack_Test_191_2
Test Case Name: checkClusterReorderingForDeployVMWithThresholdCheckDisabled(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\FirstFitPlannerTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
@Test
public void checkClusterReorderingForDeployVMWithThresholdCheckDisabled() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
- DataCenterDeployment plan = mock(DataCenterDeployment.class);
+ // removed local mock; replaced with global field `plan`
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> clustersCrossingThreshold = initializeForClusterThresholdDisabled();
Map<String, String> details = new HashMap<String, String>();
details.put("deployvm", "true");
when(vmDetailsDao.listDetailsKeyPairs(vmProfile.getVirtualMachine().getId())).thenReturn(details);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list have clusters exceeding threshold", (!clusterList.containsAll(clustersCrossingThreshold)));
}
Original Test Code (click to expand)
@Test
public void checkClusterReorderingForDeployVMWithThresholdCheckDisabled() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> clustersCrossingThreshold = initializeForClusterThresholdDisabled();
Map<String, String> details = new HashMap<String, String>();
details.put("deployvm", "true");
when(vmDetailsDao.listDetailsKeyPairs(vmProfile.getVirtualMachine().getId())).thenReturn(details);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list have clusters exceeding threshold", (!clusterList.containsAll(clustersCrossingThreshold)));
}
Reusable Method for MCI (click to expand)
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
Test Case ID #cloudstack_Test_191_3
Test Case Name: checkClusterListBasedOnHostTag(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\FirstFitPlannerTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
@Test
public void checkClusterListBasedOnHostTag() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
- DataCenterDeployment plan = mock(DataCenterDeployment.class);
+ // removed local mock; replaced with global field `plan`
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> matchingClusters = initializeForClusterListBasedOnHostTag(vmProfile.getServiceOffering());
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list have clusters which has hosts with specified host tag on offering", (clusterList.containsAll(matchingClusters)));
assertTrue("Reordered cluster list does not have clusters which don't have hosts with matching host tag on offering", (!clusterList.contains(2L)));
}
Original Test Code (click to expand)
@Test
public void checkClusterListBasedOnHostTag() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> matchingClusters = initializeForClusterListBasedOnHostTag(vmProfile.getServiceOffering());
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list have clusters which has hosts with specified host tag on offering", (clusterList.containsAll(matchingClusters)));
assertTrue("Reordered cluster list does not have clusters which don't have hosts with matching host tag on offering", (!clusterList.contains(2L)));
}
Reusable Method for MCI (click to expand)
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
Test Case ID #cloudstack_Test_191_4
Test Case Name: checkClusterReorderingForStartVMWithThresholdCheckDisabled(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\FirstFitPlannerTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
@Test
public void checkClusterReorderingForStartVMWithThresholdCheckDisabled() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
- DataCenterDeployment plan = mock(DataCenterDeployment.class);
+ // removed local mock; replaced with global field `plan`
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> clustersCrossingThreshold = initializeForClusterThresholdDisabled();
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list does not have clusters exceeding threshold", (clusterList.containsAll(clustersCrossingThreshold)));
}
Original Test Code (click to expand)
@Test
public void checkClusterReorderingForStartVMWithThresholdCheckDisabled() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = mock(ExcludeList.class);
initializeForTest(vmProfile, plan, avoids);
List<Long> clustersCrossingThreshold = initializeForClusterThresholdDisabled();
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Reordered cluster list does not have clusters exceeding threshold", (clusterList.containsAll(clustersCrossingThreshold)));
}
Reusable Method for MCI (click to expand)
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
Mock Clone Instance #cloudstack_MCI_192
- Scope: method level
- Mocked Class:
com.cloud.deploy.DataCenterDeployment
- Test Case Count: 6
- MO Count: 6
Reusable Method
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_192_1
Test Case Name: checkWhenDcInAvoidList(File: C:\Java_projects\Apache\cloudstack\plugins\deployment-planners\implicit-dedication\src\test\java\org\apache\cloudstack\implicitplanner\ImplicitPlannerTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
VMInstanceVO vm = mock(VMInstanceVO.class);
- DataCenterDeployment plan = mock(DataCenterDeployment.class);
+ // removed local mock; replaced with global field `plan`
when(avoids.shouldAvoid(mockDc)).thenReturn(true);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(vm.getDataCenterId()).thenReturn(1L);
when(dcDao.findById(1L)).thenReturn(mockDc);
@@
- List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
+ List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Cluster list should be null/empty if the dc is in avoid list", (clusterList == null || clusterList.isEmpty()));
Original Test Code (click to expand)
@Test
public void checkWhenDcInAvoidList() throws InsufficientServerCapacityException {
DataCenterVO mockDc = mock(DataCenterVO.class);
ExcludeList avoids = mock(ExcludeList.class);
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
VMInstanceVO vm = mock(VMInstanceVO.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
when(avoids.shouldAvoid(mockDc)).thenReturn(true);
when(vmProfile.getVirtualMachine()).thenReturn(vm);
when(vm.getDataCenterId()).thenReturn(1L);
when(dcDao.findById(1L)).thenReturn(mockDc);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Cluster list should be null/empty if the dc is in avoid list", (clusterList == null || clusterList.isEmpty()));
}
Reusable Method for MCI (click to expand)
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
Test Case ID #cloudstack_Test_192_2
Test Case Name: checkStrictModeWithCurrentAccountVmsPresent(File: C:\Java_projects\Apache\cloudstack\plugins\deployment-planners\implicit-dedication\src\test\java\org\apache\cloudstack\implicitplanner\ImplicitPlannerTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
@Test
public void checkStrictModeWithCurrentAccountVmsPresent() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
- DataCenterDeployment plan = mock(DataCenterDeployment.class);
+ // removed local mock; replaced with global field `plan`
ExcludeList avoids = new ExcludeList();
initializeForTest(vmProfile, plan);
initializeForImplicitPlannerTest(false);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
// Validations.
// Check cluster 2 and 3 are not in the cluster list.
// Host 6 and 7 should also be in avoid list.
assertFalse("Cluster list should not be null/empty", (clusterList == null || clusterList.isEmpty()));
assertThat("Found cluster that shouldn't have been present, only cluster 1 should be present", clusterList, everyItem(equalTo(1L)));
Set<Long> hostsInAvoidList = avoids.getHostsToAvoid();
assertFalse("Host 5 shouldn't have be in the avoid list, but it is present", hostsInAvoidList.contains(5L));
Set<Long> hostsThatShouldBeInAvoidList = new HashSet<Long>();
hostsThatShouldBeInAvoidList.add(6L);
hostsThatShouldBeInAvoidList.add(7L);
assertTrue("Hosts 6 and 7 that should have been present were not found in avoid list", hostsInAvoidList.containsAll(hostsThatShouldBeInAvoidList));
}
Original Test Code (click to expand)
@Test
public void checkStrictModeWithCurrentAccountVmsPresent() throws InsufficientServerCapacityException {
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = new ExcludeList();
initializeForTest(vmProfile, plan);
initializeForImplicitPlannerTest(false);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertFalse("Cluster list should not be null/empty", (clusterList == null || clusterList.isEmpty()));
assertThat("Found cluster that shouldn't have been present, only cluster 1 should be present", clusterList, everyItem(equalTo(1L)));
Set<Long> hostsInAvoidList = avoids.getHostsToAvoid();
assertFalse("Host 5 shouldn't have be in the avoid list, but it is present", hostsInAvoidList.contains(5L));
Set<Long> hostsThatShouldBeInAvoidList = new HashSet<Long>();
hostsThatShouldBeInAvoidList.add(6L);
hostsThatShouldBeInAvoidList.add(7L);
assertTrue("Hosts 6 and 7 that should have been present were not found in avoid list", hostsInAvoidList.containsAll(hostsThatShouldBeInAvoidList));
}
Reusable Method for MCI (click to expand)
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
Test Case ID #cloudstack_Test_192_3
Test Case Name: checkStrictModeHostWithCurrentAccountVmsFull(File: C:\Java_projects\Apache\cloudstack\plugins\deployment-planners\implicit-dedication\src\test\java\org\apache\cloudstack\implicitplanner\ImplicitPlannerTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
@Test
public void checkStrictModeHostWithCurrentAccountVmsFull() throws InsufficientServerCapacityException {
@SuppressWarnings("unchecked")
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
- DataCenterDeployment plan = mock(DataCenterDeployment.class);
+ // removed local mock; replaced with global field `plan`
ExcludeList avoids = new ExcludeList();
initializeForTest(vmProfile, plan);
initializeForImplicitPlannerTest(false);
// Mark the host 5 with current account vms to be in avoid list.
avoids.addHost(5L);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
// Validations.
// Check cluster 1 and 3 are not in the cluster list.
// Host 5 and 7 should also be in avoid list.
assertFalse("Cluster list should not be null/empty", (clusterList == null || clusterList.isEmpty()));
assertThat("Found cluster that shouldn't have been present, only cluster 2 should be present", clusterList, everyItem(equalTo(2L)));
Set<Long> hostsInAvoidList = avoids.getHostsToAvoid();
assertFalse("Host 6 shouldn't have be in the avoid list, but it is present", hostsInAvoidList.contains(6L));
Set<Long> hostsThatShouldBeInAvoidList = new HashSet<Long>();
hostsThatShouldBeInAvoidList.add(5L);
hostsThatShouldBeInAvoidList.add(7L);
assertTrue("Hosts 5 and 7 that should have been present were not found in avoid list", hostsInAvoidList.containsAll(hostsThatShouldBeInAvoidList));
}
Original Test Code (click to expand)
@Test
public void checkStrictModeHostWithCurrentAccountVmsFull() throws InsufficientServerCapacityException {
@SuppressWarnings("unchecked")
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = new ExcludeList();
initializeForTest(vmProfile, plan);
initializeForImplicitPlannerTest(false);
avoids.addHost(5L);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertFalse("Cluster list should not be null/empty", (clusterList == null || clusterList.isEmpty()));
assertThat("Found cluster that shouldn't have been present, only cluster 2 should be present", clusterList, everyItem(equalTo(2L)));
Set<Long> hostsInAvoidList = avoids.getHostsToAvoid();
assertFalse("Host 6 shouldn't have be in the avoid list, but it is present", hostsInAvoidList.contains(6L));
Set<Long> hostsThatShouldBeInAvoidList = new HashSet<Long>();
hostsThatShouldBeInAvoidList.add(5L);
hostsThatShouldBeInAvoidList.add(7L);
assertTrue("Hosts 5 and 7 that should have been present were not found in avoid list", hostsInAvoidList.containsAll(hostsThatShouldBeInAvoidList));
}
Reusable Method for MCI (click to expand)
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
Test Case ID #cloudstack_Test_192_4
Test Case Name: checkStrictModeNoHostsAvailable(File: C:\Java_projects\Apache\cloudstack\plugins\deployment-planners\implicit-dedication\src\test\java\org\apache\cloudstack\implicitplanner\ImplicitPlannerTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
@Test
public void checkStrictModeNoHostsAvailable() throws InsufficientServerCapacityException {
@SuppressWarnings("unchecked")
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
- DataCenterDeployment plan = mock(DataCenterDeployment.class);
+ // removed local mock; replaced with global field `plan`
ExcludeList avoids = new ExcludeList();
initializeForTest(vmProfile, plan);
initializeForImplicitPlannerTest(false);
// Mark the host 5 and 6 to be in avoid list.
avoids.addHost(5L);
avoids.addHost(6L);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
// Validations.
// Check cluster list is empty.
assertTrue("Cluster list should not be null/empty", (clusterList == null || clusterList.isEmpty()));
}
Original Test Code (click to expand)
@Test
public void checkStrictModeNoHostsAvailable() throws InsufficientServerCapacityException {
@SuppressWarnings("unchecked")
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = new ExcludeList();
initializeForTest(vmProfile, plan);
initializeForImplicitPlannerTest(false);
avoids.addHost(5L);
avoids.addHost(6L);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Cluster list should not be null/empty", (clusterList == null || clusterList.isEmpty()));
}
Reusable Method for MCI (click to expand)
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
Test Case ID #cloudstack_Test_192_5
Test Case Name: checkPreferredModePreferredHostAvailable(File: C:\Java_projects\Apache\cloudstack\plugins\deployment-planners\implicit-dedication\src\test\java\org\apache\cloudstack\implicitplanner\ImplicitPlannerTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
@Test
public void checkPreferredModePreferredHostAvailable() throws InsufficientServerCapacityException {
@SuppressWarnings("unchecked")
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
- DataCenterDeployment plan = mock(DataCenterDeployment.class);
+ // removed local mock; replaced with global field `plan`
ExcludeList avoids = new ExcludeList();
initializeForTest(vmProfile, plan);
initializeForImplicitPlannerTest(true);
// Mark the host 5 and 6 to be in avoid list.
avoids.addHost(5L);
avoids.addHost(6L);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
// Validations.
// Check cluster 1 and 2 are not in the cluster list.
// Host 5 and 6 should also be in avoid list.
assertFalse("Cluster list should not be null/empty", (clusterList == null || clusterList.isEmpty()));
assertThat("Found cluster that shouldn't have been present, only cluster 3 should be present", clusterList, everyItem(equalTo(3L)));
Set<Long> hostsInAvoidList = avoids.getHostsToAvoid();
assertFalse("Host 7 shouldn't have be in the avoid list, but it is present", hostsInAvoidList.contains(7L));
Set<Long> hostsThatShouldBeInAvoidList = new HashSet<Long>();
hostsThatShouldBeInAvoidList.add(5L);
hostsThatShouldBeInAvoidList.add(6L);
assertTrue("Hosts 5 and 6 that should have been present were not found in avoid list", hostsInAvoidList.containsAll(hostsThatShouldBeInAvoidList));
}
Original Test Code (click to expand)
@Test
public void checkPreferredModePreferredHostAvailable() throws InsufficientServerCapacityException {
@SuppressWarnings("unchecked")
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = new ExcludeList();
initializeForTest(vmProfile, plan);
initializeForImplicitPlannerTest(true);
avoids.addHost(5L);
avoids.addHost(6L);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertFalse("Cluster list should not be null/empty", (clusterList == null || clusterList.isEmpty()));
assertThat("Found cluster that shouldn't have been present, only cluster 3 should be present", clusterList, everyItem(equalTo(3L)));
Set<Long> hostsInAvoidList = avoids.getHostsToAvoid();
assertFalse("Host 7 shouldn't have be in the avoid list, but it is present", hostsInAvoidList.contains(7L));
Set<Long> hostsThatShouldBeInAvoidList = new HashSet<Long>();
hostsThatShouldBeInAvoidList.add(5L);
hostsThatShouldBeInAvoidList.add(6L);
assertTrue("Hosts 5 and 6 that should have been present were not found in avoid list", hostsInAvoidList.containsAll(hostsThatShouldBeInAvoidList));
}
Reusable Method for MCI (click to expand)
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
Test Case ID #cloudstack_Test_192_6
Test Case Name: checkPreferredModeNoHostsAvailable(File: C:\Java_projects\Apache\cloudstack\plugins\deployment-planners\implicit-dedication\src\test\java\org\apache\cloudstack\implicitplanner\ImplicitPlannerTest.java)
Mock Object Variable Name: plan
Suggested Diff
@@
@Test
public void checkPreferredModeNoHostsAvailable() throws InsufficientServerCapacityException {
@SuppressWarnings("unchecked")
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
- DataCenterDeployment plan = mock(DataCenterDeployment.class);
+ // removed local mock; replaced with global field `plan`
ExcludeList avoids = new ExcludeList();
initializeForTest(vmProfile, plan);
initializeForImplicitPlannerTest(false);
// Mark the host 5, 6 and 7 to be in avoid list.
avoids.addHost(5L);
avoids.addHost(6L);
avoids.addHost(7L);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
// Validations.
// Check cluster list is empty.
assertTrue("Cluster list should not be null/empty", (clusterList == null || clusterList.isEmpty()));
}
Original Test Code (click to expand)
@Test
public void checkPreferredModeNoHostsAvailable() throws InsufficientServerCapacityException {
@SuppressWarnings("unchecked")
VirtualMachineProfileImpl vmProfile = mock(VirtualMachineProfileImpl.class);
DataCenterDeployment plan = mock(DataCenterDeployment.class);
ExcludeList avoids = new ExcludeList();
initializeForTest(vmProfile, plan);
initializeForImplicitPlannerTest(false);
avoids.addHost(5L);
avoids.addHost(6L);
avoids.addHost(7L);
List<Long> clusterList = planner.orderClusters(vmProfile, plan, avoids);
assertTrue("Cluster list should not be null/empty", (clusterList == null || clusterList.isEmpty()));
}
Reusable Method for MCI (click to expand)
private DataCenterDeployment plan;
@BeforeEach
public void setUp() {
plan = mock(DataCenterDeployment.class);
}
plan;
Mock Clone Instance #cloudstack_MCI_193
- Scope: method level
- Mocked Class:
com.cloud.vm.snapshot.VMSnapshot
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static VMSnapshot createMockVMSnapshot(String uuidReturn) {
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
when(vmSnapshot.getUuid()).thenReturn(uuidReturn);
return vmSnapshot;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_193_1
Test Case Name: testCreateDiskSnapshotBasedOnStrategy(File: C:\Java_projects\Apache\cloudstack\engine\storage\snapshot\src\test\java\org\apache\cloudstack\storage\vmsnapshot\VMSnapshotStrategyKVMTest.java)
Mock Object Variable Name: vmSnapshot
Suggested Diff
@@
@Test
public void testCreateDiskSnapshotBasedOnStrategy() throws Exception {
- VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
List<SnapshotInfo> forRollback = new ArrayList<>();
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
SnapshotInfo snapshotInfo = Mockito.mock(SnapshotInfo.class);
SnapshotStrategy strategy = Mockito.mock(SnapshotStrategy.class);
DataStore dataStore = Mockito.mock(DataStore.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
SnapshotVO snapshot = new SnapshotVO(vol.getDataCenterId(), vol.getAccountId(), vol.getDomainId(), vol.getId(), vol.getDiskOfferingId(), vmUuid + "_" + volUuid, (short) SnapshotVO.MANUAL_POLICY_ID, "MANUAL", vol.getSize(), vol.getMinIops(), vol.getMaxIops(), Hypervisor.HypervisorType.KVM, null);
PowerMockito.whenNew(SnapshotVO.class).withAnyArguments().thenReturn(snapshot);
- when(vmSnapshot.getUuid()).thenReturn(vmUuid);
+ VMSnapshot vmSnapshot = createMockVMSnapshot(vmUuid);
when(vol.getUuid()).thenReturn(volUuid);
when(_snapshotDao.persist(any())).thenReturn(snapshot);
when(vol.getDataStore()).thenReturn(dataStore);
when(_snapshotDataFactory.getSnapshot(snapshot.getId(), vol.getDataStore())).thenReturn(snapshotInfo);
when(_storageStrategyFactory.getSnapshotStrategy(snapshotInfo, SnapshotOperation.TAKE)).thenReturn(strategy);
SnapshotInfo info = null;
when(strategy.takeSnapshot(any())).thenReturn(snapshotInfo);
VMSnapshotDetailsVO vmDetails = new VMSnapshotDetailsVO(vmSnapshot.getId(), volUuid, String.valueOf(snapshot.getId()), false);
PowerMockito.whenNew(VMSnapshotDetailsVO.class).withAnyArguments().thenReturn(vmDetails);
when(vmSnapshotDetailsDao.persist(any())).thenReturn(vmDetails);
info = vmStrategy.createDiskSnapshot(vmSnapshot, forRollback, vol);
assertNotNull(info);
}
@@
Original Test Code (click to expand)
@Test
public void testCreateDiskSnapshotBasedOnStrategy() throws Exception {
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
List<SnapshotInfo> forRollback = new ArrayList<>();
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
SnapshotInfo snapshotInfo = Mockito.mock(SnapshotInfo.class);
SnapshotStrategy strategy = Mockito.mock(SnapshotStrategy.class);
DataStore dataStore = Mockito.mock(DataStore.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
SnapshotVO snapshot = new SnapshotVO(vol.getDataCenterId(), vol.getAccountId(), vol.getDomainId(), vol.getId(), vol.getDiskOfferingId(), vmUuid + "_" + volUuid, (short) SnapshotVO.MANUAL_POLICY_ID, "MANUAL", vol.getSize(), vol.getMinIops(), vol.getMaxIops(), Hypervisor.HypervisorType.KVM, null);
PowerMockito.whenNew(SnapshotVO.class).withAnyArguments().thenReturn(snapshot);
when(vmSnapshot.getUuid()).thenReturn(vmUuid);
when(vol.getUuid()).thenReturn(volUuid);
when(_snapshotDao.persist(any())).thenReturn(snapshot);
when(vol.getDataStore()).thenReturn(dataStore);
when(_snapshotDataFactory.getSnapshot(snapshot.getId(), vol.getDataStore())).thenReturn(snapshotInfo);
when(_storageStrategyFactory.getSnapshotStrategy(snapshotInfo, SnapshotOperation.TAKE)).thenReturn(strategy);
SnapshotInfo info = null;
when(strategy.takeSnapshot(any())).thenReturn(snapshotInfo);
VMSnapshotDetailsVO vmDetails = new VMSnapshotDetailsVO(vmSnapshot.getId(), volUuid, String.valueOf(snapshot.getId()), false);
PowerMockito.whenNew(VMSnapshotDetailsVO.class).withAnyArguments().thenReturn(vmDetails);
when(vmSnapshotDetailsDao.persist(any())).thenReturn(vmDetails);
info = vmStrategy.createDiskSnapshot(vmSnapshot, forRollback, vol);
assertNotNull(info);
}
Reusable Method for MCI (click to expand)
private static VMSnapshot createMockVMSnapshot(String uuidReturn) {
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
when(vmSnapshot.getUuid()).thenReturn(uuidReturn);
return vmSnapshot;
}
Test Case ID #cloudstack_Test_193_2
Test Case Name: testRevertDiskSnapshot(File: C:\Java_projects\Apache\cloudstack\engine\storage\snapshot\src\test\java\org\apache\cloudstack\storage\vmsnapshot\VMSnapshotStrategyKVMTest.java)
Mock Object Variable Name: vmSnapshot
Suggested Diff
@@
@Test
public void testRevertDiskSnapshot() throws Exception {
- VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
SnapshotVO snapshotVO = Mockito.mock(SnapshotVO.class);
Snapshot snap = Mockito.mock(Snapshot.class);
DataStore dataStore = Mockito.mock(DataStore.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
String name = vmUuid + "_" + volUuid;
when(vol.getUuid()).thenReturn(volUuid);
+ VMSnapshot vmSnapshot = createMockVMSnapshot(vmUuid);
when(vol.getDataStore()).thenReturn(dataStore);
when(snapshotVO.getId()).thenReturn(1L);
when(_snapshotService.revertSnapshot(snapshotVO.getId())).thenReturn(snap);
// testFindSnapshotByName(name);
vmStrategy.revertDiskSnapshot(vmSnapshot);
}
@@
Original Test Code (click to expand)
@Test
public void testRevertDiskSnapshot() throws Exception {
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
SnapshotVO snapshotVO = Mockito.mock(SnapshotVO.class);
Snapshot snap = Mockito.mock(Snapshot.class);
DataStore dataStore = Mockito.mock(DataStore.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
String name = vmUuid + "_" + volUuid;
when(vol.getUuid()).thenReturn(volUuid);
when(vmSnapshot.getUuid()).thenReturn(vmUuid);
when(vol.getDataStore()).thenReturn(dataStore);
when(snapshotVO.getId()).thenReturn(1L);
when(_snapshotService.revertSnapshot(snapshotVO.getId())).thenReturn(snap);
vmStrategy.revertDiskSnapshot(vmSnapshot);
}
Reusable Method for MCI (click to expand)
private static VMSnapshot createMockVMSnapshot(String uuidReturn) {
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
when(vmSnapshot.getUuid()).thenReturn(uuidReturn);
return vmSnapshot;
}
Test Case ID #cloudstack_Test_193_3
Test Case Name: testDeleteDiskSnapshot(File: C:\Java_projects\Apache\cloudstack\engine\storage\snapshot\src\test\java\org\apache\cloudstack\storage\vmsnapshot\VMSnapshotStrategyKVMTest.java)
Mock Object Variable Name: vmSnapshot
Suggested Diff
@@
@Test
public void testDeleteDiskSnapshot() {
- VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
SnapshotVO snapshotVO = Mockito.mock(SnapshotVO.class);
Snapshot snap = Mockito.mock(Snapshot.class);
SnapshotInfo info = Mockito.mock(SnapshotInfo.class);
SnapshotStrategy strategy = Mockito.mock(SnapshotStrategy.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
String name = vmUuid + "_" + volUuid;
when(vol.getUuid()).thenReturn(volUuid);
+ VMSnapshot vmSnapshot = createMockVMSnapshot(vmUuid);
when(snapshotVO.getId()).thenReturn(1L);
when(_snapshotDataFactory.getSnapshot(snapshotVO.getId(), vol.getDataStore())).thenReturn(info);
when(_storageStrategyFactory.getSnapshotStrategy(info, SnapshotOperation.DELETE)).thenReturn(strategy);
testFindSnapshotByName(name);
vmStrategy.deleteDiskSnapshot(vmSnapshot);
}
@@
Original Test Code (click to expand)
@Test
public void testDeleteDiskSnapshot() {
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
SnapshotVO snapshotVO = Mockito.mock(SnapshotVO.class);
Snapshot snap = Mockito.mock(Snapshot.class);
SnapshotInfo info = Mockito.mock(SnapshotInfo.class);
SnapshotStrategy strategy = Mockito.mock(SnapshotStrategy.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
String name = vmUuid + "_" + volUuid;
when(vol.getUuid()).thenReturn(volUuid);
when(vmSnapshot.getUuid()).thenReturn(vmUuid);
when(snapshotVO.getId()).thenReturn(1L);
when(_snapshotDataFactory.getSnapshot(snapshotVO.getId(), vol.getDataStore())).thenReturn(info);
when(_storageStrategyFactory.getSnapshotStrategy(info, SnapshotOperation.DELETE)).thenReturn(strategy);
testFindSnapshotByName(name);
vmStrategy.deleteDiskSnapshot(vmSnapshot);
}
Reusable Method for MCI (click to expand)
private static VMSnapshot createMockVMSnapshot(String uuidReturn) {
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
when(vmSnapshot.getUuid()).thenReturn(uuidReturn);
return vmSnapshot;
}
Mock Clone Instance #cloudstack_MCI_194
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.AutoScalePolicyTO
- Test Case Count: 12
- MO Count: 15
Reusable Method
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_194_1
Test Case Name: isNativeTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: policyTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ AutoScalePolicyTO policyTO = createMockAutoScalePolicyTO(conditionTO);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
- when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertTrue(result);
@@
Original Test Code (click to expand)
@Test
public void isNativeTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_2
Test Case Name: isNativeFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: policyTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ AutoScalePolicyTO policyTO = createMockAutoScalePolicyTO(conditionTO);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
- when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertFalse(result);
@@
Original Test Code (click to expand)
@Test
public void isNativeFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_3
Test Case Name: hasSourceVirtualRouterTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: policyTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
+ AutoScalePolicyTO policyTO = createMockAutoScalePolicyTO(conditionTO);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertTrue(result);
@@
Original Test Code (click to expand)
@Test
public void hasSourceVirtualRouterTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_4
Test Case Name: hasSourceVirtualRouterFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: policyTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ AutoScalePolicyTO policyTO = createMockAutoScalePolicyTO(conditionTO);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
- when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertFalse(result);
@@
Original Test Code (click to expand)
@Test
public void hasSourceVirtualRouterFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_5
Test Case Name: getPolicyCounters(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: policyTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
+ AutoScalePolicyTO policyTO = createMockAutoScalePolicyTO(conditionTO1, conditionTO2);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
- when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
Map<Long, List<CounterTO>> result = autoScaleManagerImplSpy.getPolicyCounters(groupTO);
Assert.assertEquals(1, result.size());
List<CounterTO> counters = result.get(scaleUpPolicyId);
Assert.assertEquals(2, counters.size());
Assert.assertTrue(counters.contains(counterTO1));
Assert.assertTrue(counters.contains(counterTO2));
@@
Original Test Code (click to expand)
@Test
public void getPolicyCounters() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
Map<Long, List<CounterTO>> result = autoScaleManagerImplSpy.getPolicyCounters(groupTO);
Assert.assertEquals(1, result.size());
List<CounterTO> counters = result.get(scaleUpPolicyId);
Assert.assertEquals(2, counters.size());
Assert.assertTrue(counters.contains(counterTO1));
Assert.assertTrue(counters.contains(counterTO2));
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_6
Test Case Name: checkConditionsForPolicy1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: policyTO
Suggested Diff
@@
public void checkConditionsForPolicy1() {
- AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
+ AutoScalePolicyTO policyTO = createMockAutoScalePolicyTO(conditionTO1, conditionTO2);
- when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.GT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.GE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2).getRelationalOperator();
}
@@
Original Test Code (click to expand)
@Test
public void checkConditionsForPolicy1() {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.GT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.GE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2).getRelationalOperator();
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_7
Test Case Name: checkConditionsForPolicy2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: policyTO
Suggested Diff
@@
- AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
+ AutoScalePolicyTO policyTO = createMockAutoScalePolicyTO(conditionTO1, conditionTO2);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
- when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.LT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.LE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertNull(result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2, never()).getRelationalOperator();
@@
Original Test Code (click to expand)
@Test
public void checkConditionsForPolicy2() {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.LT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.LE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertNull(result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2, never()).getRelationalOperator();
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_8
Mock Object Variable Name: policyTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
+ AutoScalePolicyTO policyTO = createMockAutoScalePolicyTO(conditionTO1, conditionTO2);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
- when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
@@
Original Test Code (click to expand)
@Test
public void setPerformanceMonitorCommandParams() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_9
Test Case Name: updateCountersMap1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpPolicyTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
- AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
- when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
- when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
+ AutoScalePolicyTO scaleUpPolicyTO = createMockAutoScalePolicyTO(scaleUpConditionTO);
+ when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
+ when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
@@
Original Test Code (click to expand)
@Test
public void updateCountersMap1() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 1, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 2, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 3, AutoScaleValueType.INSTANT_VM, timestamp));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleDownPolicyId), eq(scaleDownCounterId), any())).thenReturn(stats);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(6)).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_10
Test Case Name: updateCountersMap1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleDownPolicyTO
Suggested Diff
@@
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
- AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
- when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
- when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
+ AutoScalePolicyTO scaleDownPolicyTO = createMockAutoScalePolicyTO(scaleDownConditionTO);
+ when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
+ when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
@@
Original Test Code (click to expand)
@Test
public void updateCountersMap1() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 1, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 2, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 3, AutoScaleValueType.INSTANT_VM, timestamp));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleDownPolicyId), eq(scaleDownCounterId), any())).thenReturn(stats);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(6)).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_11
Test Case Name: updateCountersMap2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpPolicyTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
- AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
- when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
- when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
- when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
+ AutoScalePolicyTO scaleUpPolicyTO = createMockAutoScalePolicyTO(scaleUpConditionTO);
+ when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
+ when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO));
@@
Original Test Code (click to expand)
@Test
public void updateCountersMap2() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
when(asGroupStatisticsDao.listInactiveByVmGroupAndPolicy(eq(vmGroupId), eq(scaleUpPolicyId), any())).thenReturn(new ArrayList<>());
when(asGroupStatisticsDao.listInactiveByVmGroupAndPolicy(eq(vmGroupId), eq(scaleDownPolicyId), any())).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 11, AutoScaleValueType.AGGREGATED_VM_GROUP, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 31, AutoScaleValueType.AGGREGATED_VM_GROUP, new Date(timestamp.getTime() + 10 * 1000)));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 51, AutoScaleValueType.AGGREGATED_VM_GROUP, new Date(timestamp.getTime() + 20 * 1000)));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(1);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithProcessedData(any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(1)).updateCountersMapWithProcessedData(any(), any(), any(), eq((double) 2));
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_12
Test Case Name: monitorVirtualRouterAsGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpPolicyTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
+ AutoScalePolicyTO scaleUpPolicyTO = createMockAutoScalePolicyTO(scaleUpConditionTO);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
@@
Original Test Code (click to expand)
@Test
public void monitorVirtualRouterAsGroup() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(minMembers);
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
autoScaleManagerImplSpy.monitorVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
Mockito.verify(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_13
Test Case Name: monitorVirtualRouterAsGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleDownPolicyTO
Suggested Diff
@@
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
- AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
+ AutoScalePolicyTO scaleDownPolicyTO = createMockAutoScalePolicyTO(scaleDownConditionTO);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
@@
Original Test Code (click to expand)
@Test
public void monitorVirtualRouterAsGroup() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(minMembers);
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
autoScaleManagerImplSpy.monitorVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
Mockito.verify(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_14
Test Case Name: setGetAutoScaleMetricsCommandMetrics(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpPolicyTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
+ AutoScalePolicyTO scaleUpPolicyTO = createMockAutoScalePolicyTO(scaleUpConditionTO);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
- when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
List<VirtualRouterAutoScale.AutoScaleMetrics> result = autoScaleManagerImplSpy.setGetAutoScaleMetricsCommandMetrics(groupTO);
Assert.assertEquals(2, result.size());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, result.get(0).getCounter());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, result.get(1).getCounter());
}
Original Test Code (click to expand)
@Test
public void setGetAutoScaleMetricsCommandMetrics() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
List<VirtualRouterAutoScale.AutoScaleMetrics> result = autoScaleManagerImplSpy.setGetAutoScaleMetricsCommandMetrics(groupTO);
Assert.assertEquals(2, result.size());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, result.get(0).getCounter());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, result.get(1).getCounter());
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Test Case ID #cloudstack_Test_194_15
Test Case Name: setGetAutoScaleMetricsCommandMetrics(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleDownPolicyTO
Suggested Diff
@@
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
- AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
- CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
- when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
- when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
+ ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
+ CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
+ AutoScalePolicyTO scaleDownPolicyTO = createMockAutoScalePolicyTO(scaleDownConditionTO);
+ when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
@@
Original Test Code (click to expand)
@Test
public void setGetAutoScaleMetricsCommandMetrics() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
List<VirtualRouterAutoScale.AutoScaleMetrics> result = autoScaleManagerImplSpy.setGetAutoScaleMetricsCommandMetrics(groupTO);
Assert.assertEquals(2, result.size());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, result.get(0).getCounter());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, result.get(1).getCounter());
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyTO createMockAutoScalePolicyTO(ConditionTO... conditions) {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditions));
return policyTO;
}
Mock Clone Instance #cloudstack_MCI_195
- Scope: class level
- Mocked Class:
com.cloud.domain.Domain
- Test Case Count: 7
- MO Count: 11
Reusable Method
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_195_1
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain();
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Test Case ID #cloudstack_Test_195_2
Test Case Name: testImplementFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain();
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
@@
Original Test Code (click to expand)
@Test
public void testImplementFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Test Case ID #cloudstack_Test_195_3
Test Case Name: testReserve(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain();
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
@@
Original Test Code (click to expand)
@Test
public void testReserve() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Test Case ID #cloudstack_Test_195_4
Test Case Name: testReserveFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain();
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
@@
Original Test Code (click to expand)
@Test
public void testReserveFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException, InsufficientAddressCapacityException {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NicProfile nic = mock(NicProfile.class);
when(nic.getMacAddress()).thenReturn("macaddress");
when(nic.getReservationStrategy()).thenReturn(ReservationStrategy.Start);
final VirtualMachineProfile vmProfile = mock(VirtualMachineProfile.class);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenterVO dc = mock(DataCenterVO.class);
when(dest.getDataCenter()).thenReturn(dc);
when(dcdao.findById((long) anyInt())).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final AssociateMacToNetworkAnswer answer = mock(AssociateMacToNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
guru.reserve(nic, network, vmProfile, dest, res);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Test Case ID #cloudstack_Test_195_5
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain();
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Test Case ID #cloudstack_Test_195_6
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain();
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Test Case ID #cloudstack_Test_195_7
Test Case Name: testImplementURIException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain();
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
Original Test Code (click to expand)
@Test
public void testImplementURIException() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Test Case ID #cloudstack_Test_195_8
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain();
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(netdao.findById(NETWORK_ID)).thenReturn(network);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final DeleteLogicalSwitchAnswer answer = mock(DeleteLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(NETWORK_ID);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("lswitch:aaaa"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Test Case ID #cloudstack_Test_195_9
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
- Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ Domain dom = MockDomain.createMockDomain();
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Test Case ID #cloudstack_Test_195_10
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
- Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ Domain dom = MockDomain.createMockDomain();
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Test Case ID #cloudstack_Test_195_11
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
- Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ Domain dom = MockDomain.createMockDomain();
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
@@
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vxlan);
when(network.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(network.getPhysicalNetworkId()).thenReturn(42L);
when(netdao.findById(42L)).thenReturn(network);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(42L);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain() {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn("domain");
return domain;
}
}
Mock Clone Instance #cloudstack_MCI_196
- Scope: class level
- Mocked Class:
com.cloud.domain.Domain
- Test Case Count: 5
- MO Count: 5
Reusable Method
public class MockDomain {
public static Domain createMockDomain(String name) {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn(name);
return domain;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_196_1
Test Case Name: implementTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
DeployDestination dest = mock(DeployDestination.class);
- Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("d1");
+ Domain dom = MockDomain.createMockDomain("d1");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("a1");
ReservationContext context = mock(ReservationContext.class);
@@
Original Test Code (click to expand)
@Test
public void implementTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getGateway()).thenReturn("1.1.1.1");
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(1L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
DeployDestination dest = mock(DeployDestination.class);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("d1");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("a1");
ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
DataCenter dc = mock(DataCenter.class);
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_entityMgr.findById(DataCenter.class, network.getDataCenterId())).thenReturn(dc);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
CiscoAsa1000vDeviceVO asaVO = mock(CiscoAsa1000vDeviceVO.class);
when(asaVO.getInPortProfile()).thenReturn("foo");
when(asaVO.getManagementIp()).thenReturn("1.2.3.4");
List<CiscoAsa1000vDeviceVO> asaList = new ArrayList<CiscoAsa1000vDeviceVO>();
asaList.add(asaVO);
when(_ciscoAsa1000vDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(asaList);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkAsa1000vMapDao.findByAsa1000vId(anyLong())).thenReturn(null);
when(_networkAsa1000vMapDao.persist(any(NetworkAsa1000vMapVO.class))).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, Provider.CiscoVnmc)).thenReturn(true);
ClusterVSMMapVO clusterVsmMap = mock(ClusterVSMMapVO.class);
when(_clusterVsmMapDao.findByClusterId(anyLong())).thenReturn(clusterVsmMap);
CiscoNexusVSMDeviceVO vsmDevice = mock(CiscoNexusVSMDeviceVO.class);
when(vsmDevice.getUserName()).thenReturn("foo");
when(vsmDevice.getPassword()).thenReturn("bar");
when(vsmDevice.getipaddr()).thenReturn("1.2.3.4");
when(_vsmDeviceDao.findById(anyLong())).thenReturn(vsmDevice);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
PublicIp publicIp = mock(PublicIp.class);
when(publicIp.getAddress()).thenReturn(ip);
when(publicIp.getState()).thenReturn(IpAddress.State.Releasing);
when(publicIp.getAccountId()).thenReturn(1L);
when(publicIp.isSourceNat()).thenReturn(true);
when(publicIp.getVlanTag()).thenReturn("123");
when(publicIp.getGateway()).thenReturn("1.1.1.1");
when(publicIp.getNetmask()).thenReturn("1.1.1.1");
when(publicIp.getMacAddress()).thenReturn(null);
when(publicIp.isOneToOneNat()).thenReturn(true);
when(_ipAddrMgr.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(publicIp);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanGateway()).thenReturn("1.1.1.1");
List<VlanVO> vlanVOList = new ArrayList<VlanVO>();
when(_vlanDao.listVlansByPhysicalNetworkId(network.getPhysicalNetworkId())).thenReturn(vlanVOList);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CreateLogicalEdgeFirewallCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(ConfigureNexusVsmForAsaCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(SetSourceNatCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(AssociateAsaWithLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain(String name) {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn(name);
return domain;
}
}
Test Case ID #cloudstack_Test_196_2
Test Case Name: implementIsolatedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
final DeployDestination dest = mock(DeployDestination.class);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
@@
Original Test Code (click to expand)
@Test
public void implementIsolatedNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException, URISyntaxException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Isolated);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("10.0.0.0");
when(sourceNatIp.getAddress()).thenReturn(ip);
when(sourceNatIp.getVlanNetmask()).thenReturn("255.255.255.0");
when(sourceNatIp.getVlanTag()).thenReturn("111");
when(ipAddressManager.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(sourceNatIp);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
final CreateLogicalRouterAnswer answer = mock(CreateLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain(String name) {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn(name);
return domain;
}
}
Test Case ID #cloudstack_Test_196_3
Test Case Name: implementSharedNetworkUuidVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
final DeployDestination dest = mock(DeployDestination.class);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
@@
Original Test Code (click to expand)
@Test
public void implementSharedNetworkUuidVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(true);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
NiciraNvpRouterMappingVO mapping = mock(NiciraNvpRouterMappingVO.class);
when(mapping.getLogicalRouterUuid()).thenReturn("xxxx-xxxx-xxxx");
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(mapping);
final ConfigureSharedNetworkUuidAnswer answer = mock(ConfigureSharedNetworkUuidAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain(String name) {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn(name);
return domain;
}
}
Test Case ID #cloudstack_Test_196_4
Test Case Name: implementSharedNetworkNumericalVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
final DeployDestination dest = mock(DeployDestination.class);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
@@
Original Test Code (click to expand)
@Test
public void implementSharedNetworkNumericalVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn("bbbb-bbbb-bbbb");
final ConfigureSharedNetworkVlanIdAnswer answer = mock(ConfigureSharedNetworkVlanIdAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain(String name) {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn(name);
return domain;
}
}
Test Case ID #cloudstack_Test_196_5
Test Case Name: implementSharedNetworkNumericalVlanIdWithoutL2GatewayService(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: dom
Suggested Diff
@@
final DeployDestination dest = mock(DeployDestination.class);
- final Domain dom = mock(Domain.class);
- when(dom.getName()).thenReturn("domain");
+ final Domain dom = MockDomain.createMockDomain("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void implementSharedNetworkNumericalVlanIdWithoutL2GatewayService() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn(null);
element.implement(network, offering, dest, context);
}
Reusable Method for MCI (click to expand)
public class MockDomain {
public static Domain createMockDomain(String name) {
Domain domain = mock(Domain.class);
when(domain.getName()).thenReturn(name);
return domain;
}
}
Mock Clone Instance #cloudstack_MCI_197
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.admin.network.CreateGuestNetworkIpv6PrefixCmd
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static CreateGuestNetworkIpv6PrefixCmd createMockCreateGuestNetworkIpv6PrefixCmd(String prefix) {
CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getZoneId()).thenReturn(1L);
Mockito.when(cmd.getPrefix()).thenReturn(prefix);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_197_1
Test Case Name: testInvalidCreateDataCenterGuestIpv6Prefix(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
@Test(expected = IllegalArgumentException.class)
public void testInvalidCreateDataCenterGuestIpv6Prefix() {
- CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class);
- Mockito.when(cmd.getZoneId()).thenReturn(1L);
- Mockito.when(cmd.getPrefix()).thenReturn("Invalid");
+ CreateGuestNetworkIpv6PrefixCmd cmd = createMockCreateGuestNetworkIpv6PrefixCmd("Invalid");
Mockito.when(_zoneDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterVO.class));
configurationMgr.createDataCenterGuestIpv6Prefix(cmd);
}
@@
Original Test Code (click to expand)
@Test(expected = IllegalArgumentException.class)
public void testInvalidCreateDataCenterGuestIpv6Prefix() {
CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getZoneId()).thenReturn(1L);
Mockito.when(cmd.getPrefix()).thenReturn("Invalid");
Mockito.when(_zoneDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterVO.class));
configurationMgr.createDataCenterGuestIpv6Prefix(cmd);
}
Reusable Method for MCI (click to expand)
private static CreateGuestNetworkIpv6PrefixCmd createMockCreateGuestNetworkIpv6PrefixCmd(String prefix) {
CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getZoneId()).thenReturn(1L);
Mockito.when(cmd.getPrefix()).thenReturn(prefix);
return cmd;
}
Test Case ID #cloudstack_Test_197_2
Test Case Name: testWrongCreateDataCenterGuestIpv6Prefix(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
public void testWrongCreateDataCenterGuestIpv6Prefix() {
- CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class);
- Mockito.when(cmd.getZoneId()).thenReturn(1L);
- Mockito.when(cmd.getPrefix()).thenReturn("fd17:5:8a43:e2a4:c000::/66");
+ CreateGuestNetworkIpv6PrefixCmd cmd = createMockCreateGuestNetworkIpv6PrefixCmd("fd17:5:8a43:e2a4:c000::/66");
Mockito.when(_zoneDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterVO.class));
configurationMgr.createDataCenterGuestIpv6Prefix(cmd);
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testWrongCreateDataCenterGuestIpv6Prefix() {
CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getZoneId()).thenReturn(1L);
Mockito.when(cmd.getPrefix()).thenReturn("fd17:5:8a43:e2a4:c000::/66");
Mockito.when(_zoneDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterVO.class));
configurationMgr.createDataCenterGuestIpv6Prefix(cmd);
}
Reusable Method for MCI (click to expand)
private static CreateGuestNetworkIpv6PrefixCmd createMockCreateGuestNetworkIpv6PrefixCmd(String prefix) {
CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getZoneId()).thenReturn(1L);
Mockito.when(cmd.getPrefix()).thenReturn(prefix);
return cmd;
}
Test Case ID #cloudstack_Test_197_3
Test Case Name: testConflictingCreateDataCenterGuestIpv6Prefix(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
public void testConflictingCreateDataCenterGuestIpv6Prefix() {
- CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class);
- Mockito.when(cmd.getZoneId()).thenReturn(1L);
- Mockito.when(cmd.getPrefix()).thenReturn("fd17:5:8a43:e2a5::/64");
+ CreateGuestNetworkIpv6PrefixCmd cmd = createMockCreateGuestNetworkIpv6PrefixCmd("fd17:5:8a43:e2a5::/64");
Mockito.when(_zoneDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterVO.class));
DataCenterGuestIpv6PrefixVO prefix = Mockito.mock(DataCenterGuestIpv6PrefixVO.class);
Mockito.when(prefix.getPrefix()).thenReturn("fd17:5:8a43:e2a4::/62");
Mockito.when(dataCenterGuestIpv6PrefixDao.listByDataCenterId(Mockito.anyLong())).thenReturn(List.of(prefix));
configurationMgr.createDataCenterGuestIpv6Prefix(cmd);
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testConflictingCreateDataCenterGuestIpv6Prefix() {
CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getZoneId()).thenReturn(1L);
Mockito.when(cmd.getPrefix()).thenReturn("fd17:5:8a43:e2a5::/64");
Mockito.when(_zoneDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterVO.class));
DataCenterGuestIpv6PrefixVO prefix = Mockito.mock(DataCenterGuestIpv6PrefixVO.class);
Mockito.when(prefix.getPrefix()).thenReturn("fd17:5:8a43:e2a4::/62");
Mockito.when(dataCenterGuestIpv6PrefixDao.listByDataCenterId(Mockito.anyLong())).thenReturn(List.of(prefix));
configurationMgr.createDataCenterGuestIpv6Prefix(cmd);
}
Reusable Method for MCI (click to expand)
private static CreateGuestNetworkIpv6PrefixCmd createMockCreateGuestNetworkIpv6PrefixCmd(String prefix) {
CreateGuestNetworkIpv6PrefixCmd cmd = Mockito.mock(CreateGuestNetworkIpv6PrefixCmd.class);
Mockito.when(cmd.getZoneId()).thenReturn(1L);
Mockito.when(cmd.getPrefix()).thenReturn(prefix);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_198
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.admin.network.CreateNetworkOfferingCmd
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static CreateNetworkOfferingCmd createMockCreateNetworkOfferingCmd(String guestIpTypeReturn, String internetProtocolReturn, String trafficTypeReturn) {
CreateNetworkOfferingCmd cmd = Mockito.mock(CreateNetworkOfferingCmd.class);
Mockito.when(cmd.getGuestIpType()).thenReturn(guestIpTypeReturn);
Mockito.when(cmd.getInternetProtocol()).thenReturn(internetProtocolReturn);
Mockito.when(cmd.getTraffictype()).thenReturn(trafficTypeReturn);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_198_1
Test Case Name: testInvalidNetworkTypeCreateIpv6NetworkOffering(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
@Test(expected = InvalidParameterValueException.class)
public void testInvalidNetworkTypeCreateIpv6NetworkOffering() {
- CreateNetworkOfferingCmd cmd = Mockito.mock(CreateNetworkOfferingCmd.class);
- Mockito.when(cmd.getTraffictype()).thenReturn(Networks.TrafficType.Guest.toString());
- Mockito.when(cmd.getGuestIpType()).thenReturn(Network.GuestType.L2.toString());
- Mockito.when(cmd.getInternetProtocol()).thenReturn(NetUtils.InternetProtocol.DualStack.toString());
+ CreateNetworkOfferingCmd cmd = createMockCreateNetworkOfferingCmd(
+ Network.GuestType.L2.toString(),
+ NetUtils.InternetProtocol.DualStack.toString(),
+ Networks.TrafficType.Guest.toString()
+ );
configurationMgr.createNetworkOffering(cmd);
}
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testInvalidNetworkTypeCreateIpv6NetworkOffering() {
CreateNetworkOfferingCmd cmd = Mockito.mock(CreateNetworkOfferingCmd.class);
Mockito.when(cmd.getTraffictype()).thenReturn(Networks.TrafficType.Guest.toString());
Mockito.when(cmd.getGuestIpType()).thenReturn(Network.GuestType.L2.toString());
Mockito.when(cmd.getInternetProtocol()).thenReturn(NetUtils.InternetProtocol.DualStack.toString());
configurationMgr.createNetworkOffering(cmd);
}
Reusable Method for MCI (click to expand)
private static CreateNetworkOfferingCmd createMockCreateNetworkOfferingCmd(String guestIpTypeReturn, String internetProtocolReturn, String trafficTypeReturn) {
CreateNetworkOfferingCmd cmd = Mockito.mock(CreateNetworkOfferingCmd.class);
Mockito.when(cmd.getGuestIpType()).thenReturn(guestIpTypeReturn);
Mockito.when(cmd.getInternetProtocol()).thenReturn(internetProtocolReturn);
Mockito.when(cmd.getTraffictype()).thenReturn(trafficTypeReturn);
return cmd;
}
Test Case ID #cloudstack_Test_198_2
Test Case Name: testDisabledConfigCreateIpv6NetworkOffering(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
public void testDisabledConfigCreateIpv6NetworkOffering() {
- CreateNetworkOfferingCmd cmd = Mockito.mock(CreateNetworkOfferingCmd.class);
- Mockito.when(cmd.getTraffictype()).thenReturn(Networks.TrafficType.Guest.toString());
- Mockito.when(cmd.getGuestIpType()).thenReturn(Network.GuestType.Isolated.toString());
- Mockito.when(cmd.getInternetProtocol()).thenReturn(NetUtils.InternetProtocol.DualStack.toString());
+ CreateNetworkOfferingCmd cmd = createMockCreateNetworkOfferingCmd(
+ Network.GuestType.Isolated.toString(),
+ NetUtils.InternetProtocol.DualStack.toString(),
+ Networks.TrafficType.Guest.toString()
+ );
configurationMgr.createNetworkOffering(cmd);
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testDisabledConfigCreateIpv6NetworkOffering() {
CreateNetworkOfferingCmd cmd = Mockito.mock(CreateNetworkOfferingCmd.class);
Mockito.when(cmd.getTraffictype()).thenReturn(Networks.TrafficType.Guest.toString());
Mockito.when(cmd.getGuestIpType()).thenReturn(Network.GuestType.Isolated.toString());
Mockito.when(cmd.getInternetProtocol()).thenReturn(NetUtils.InternetProtocol.DualStack.toString());
configurationMgr.createNetworkOffering(cmd);
}
Reusable Method for MCI (click to expand)
private static CreateNetworkOfferingCmd createMockCreateNetworkOfferingCmd(String guestIpTypeReturn, String internetProtocolReturn, String trafficTypeReturn) {
CreateNetworkOfferingCmd cmd = Mockito.mock(CreateNetworkOfferingCmd.class);
Mockito.when(cmd.getGuestIpType()).thenReturn(guestIpTypeReturn);
Mockito.when(cmd.getInternetProtocol()).thenReturn(internetProtocolReturn);
Mockito.when(cmd.getTraffictype()).thenReturn(trafficTypeReturn);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_199
- Scope: method level
- Mocked Class:
com.cloud.vm.Nic
- Test Case Count: 8
- MO Count: 8
Reusable Method
private Nic nic;
@BeforeEach
public void setUp() {
nic = mock(Nic.class);
}
nic;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_199_1
Test Case Name: applyStaticNatsAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void applyStaticNatsAddRuleSuccessTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
- Nic nic = mock(Nic.class);
+ // removed local mock; replaced with global field `nic`
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
- when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
+ when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
}
Original Test Code (click to expand)
@Test
public void applyStaticNatsAddRuleSuccessTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Nic nic;
@BeforeEach
public void setUp() {
nic = mock(Nic.class);
}
nic;
Test Case ID #cloudstack_Test_199_2
Test Case Name: applyStaticNatsAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void applyStaticNatsAddRuleFailTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
- Nic nic = mock(Nic.class);
+ // removed local mock; replaced with global field `nic`
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
- when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
+ when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Original Test Code (click to expand)
@Test
public void applyStaticNatsAddRuleFailTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(false);
when(assignFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(AssignTungstenFloatingIpCommand.class), anyLong())).thenReturn(assignFloatingIpAnswer);
assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Nic nic;
@BeforeEach
public void setUp() {
nic = mock(Nic.class);
}
nic;
Test Case ID #cloudstack_Test_199_3
Test Case Name: applyStaticNatsRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void applyStaticNatsRevokeRuleSuccessTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
- Nic nic = mock(Nic.class);
+ // removed local mock; replaced with global field `nic`
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
- when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
+ when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
}
Original Test Code (click to expand)
@Test
public void applyStaticNatsRevokeRuleSuccessTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(true);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
assertTrue(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Nic nic;
@BeforeEach
public void setUp() {
nic = mock(Nic.class);
}
nic;
Test Case ID #cloudstack_Test_199_4
Test Case Name: applyStaticNatsRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void applyStaticNatsRevokeRuleFailTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
- Nic nic = mock(Nic.class);
+ // removed local mock; replaced with global field `nic`
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Original Test Code (click to expand)
@Test
public void applyStaticNatsRevokeRuleFailTest() {
Network network = mock(Network.class);
StaticNatImpl staticNat = mock(StaticNatImpl.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
Nic nic = mock(Nic.class);
Network publicNetwork = mock(Network.class);
List<StaticNatImpl> staticNatList = List.of(staticNat);
when(staticNat.isForRevoke()).thenReturn(true);
when(releaseFloatingIpAnswer.getResult()).thenReturn(false);
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), anyLong())).thenReturn(nic);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(tungstenFabricUtils.sendTungstenCommand(any(ReleaseTungstenFloatingIpCommand.class), anyLong())).thenReturn(releaseFloatingIpAnswer);
assertFalse(tungstenElement.applyStaticNats(network, staticNatList));
}
Reusable Method for MCI (click to expand)
private Nic nic;
@BeforeEach
public void setUp() {
nic = mock(Nic.class);
}
nic;
Test Case ID #cloudstack_Test_199_5
Test Case Name: applyPFRulesAddRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void applyPFRulesAddRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
- Nic nic = mock(Nic.class);
+ // removed local mock; replaced with global field `nic`
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
- when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
+ when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesAddRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Nic nic;
@BeforeEach
public void setUp() {
nic = mock(Nic.class);
}
nic;
Test Case ID #cloudstack_Test_199_6
Test Case Name: applyPFRulesAddRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void applyPFRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
- Nic nic = mock(Nic.class);
+ // removed local mock; replaced with global field `nic`
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
- when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
+ when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesAddRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Nic nic;
@BeforeEach
public void setUp() {
nic = mock(Nic.class);
}
nic;
Test Case ID #cloudstack_Test_199_7
Test Case Name: applyPFRulesRevokeRuleSuccessTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void applyPFRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
- Nic nic = mock(Nic.class);
+ // removed local mock; replaced with global field `nic`
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
- when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
+ when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesRevokeRuleSuccessTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
assertTrue(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Nic nic;
@BeforeEach
public void setUp() {
nic = mock(Nic.class);
}
nic;
Test Case ID #cloudstack_Test_199_8
Test Case Name: applyPFRulesRevokeRuleFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenElementTest.java)
Mock Object Variable Name: nic
Suggested Diff
@@
@Test
public void applyPFRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
- Nic nic = mock(Nic.class);
+ // removed local mock; replaced with global field `nic`
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
- when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
+ when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Original Test Code (click to expand)
@Test
public void applyPFRulesRevokeRuleFailTest() {
Network network = mock(Network.class);
Network publicNetwork = mock(Network.class);
PortForwardingRule portForwardingRule = mock(PortForwardingRule.class);
IPAddressVO ipAddressVO = mock(IPAddressVO.class);
UserVm userVm = mock(UserVm.class);
Nic nic = mock(Nic.class);
TungstenAnswer applyTungstenPortForwardingAnswer = mock(TungstenAnswer.class);
List<PortForwardingRule> portForwardingRuleList = List.of(portForwardingRule);
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), any())).thenReturn(publicNetwork);
when(ApiDBUtils.findIpAddressById(anyLong())).thenReturn(ipAddressVO);
when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
when(networkModel.getNicInNetwork(anyLong(), anyLong())).thenReturn(nic);
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class), anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
assertFalse(tungstenElement.applyPFRules(network, portForwardingRuleList));
}
Reusable Method for MCI (click to expand)
private Nic nic;
@BeforeEach
public void setUp() {
nic = mock(Nic.class);
}
nic;
Mock Clone Instance #cloudstack_MCI_200
- Scope: method level
- Mocked Class:
org.apache.cloudstack.framework.config.ConfigKey
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static ConfigKey createMockConfigKey(boolean valueInReturn) {
ConfigKey mockConfigKey = mock(ConfigKey.class);
when(mockConfigKey.valueIn(any(Long.class))).thenReturn(valueInReturn);
return mockConfigKey;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_200_1
Test Case Name: testaddHostIpToCertDetailsIfConfigAllows(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: testConfig
Suggested Diff
@@
Host vmHost = mock(Host.class);
- ConfigKey testConfig = mock(ConfigKey.class);
Long dataCenterId = 5L;
String hostIp = "1.1.1.1";
String routerIp = "2.2.2.2";
Map<String, String> ipAddresses = new HashMap<>();
ipAddresses.put(NetworkElementCommand.ROUTER_IP, routerIp);
+ ConfigKey testConfig = createMockConfigKey(true);
when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
when(vmHost.getPrivateIpAddress()).thenReturn(hostIp);
virtualMachineManagerImpl.addHostIpToCertDetailsIfConfigAllows(vmHost, ipAddresses, testConfig);
assertTrue(ipAddresses.containsKey(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertEquals(hostIp, ipAddresses.get(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertTrue(ipAddresses.containsKey(NetworkElementCommand.ROUTER_IP));
assertEquals(routerIp, ipAddresses.get(NetworkElementCommand.ROUTER_IP));
@@
Original Test Code (click to expand)
@Test
public void testaddHostIpToCertDetailsIfConfigAllows() {
Host vmHost = mock(Host.class);
ConfigKey testConfig = mock(ConfigKey.class);
Long dataCenterId = 5L;
String hostIp = "1.1.1.1";
String routerIp = "2.2.2.2";
Map<String, String> ipAddresses = new HashMap<>();
ipAddresses.put(NetworkElementCommand.ROUTER_IP, routerIp);
when(testConfig.valueIn(dataCenterId)).thenReturn(true);
when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
when(vmHost.getPrivateIpAddress()).thenReturn(hostIp);
virtualMachineManagerImpl.addHostIpToCertDetailsIfConfigAllows(vmHost, ipAddresses, testConfig);
assertTrue(ipAddresses.containsKey(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertEquals(hostIp, ipAddresses.get(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertTrue(ipAddresses.containsKey(NetworkElementCommand.ROUTER_IP));
assertEquals(routerIp, ipAddresses.get(NetworkElementCommand.ROUTER_IP));
}
Reusable Method for MCI (click to expand)
private static ConfigKey createMockConfigKey(boolean valueInReturn) {
ConfigKey mockConfigKey = mock(ConfigKey.class);
when(mockConfigKey.valueIn(any(Long.class))).thenReturn(valueInReturn);
return mockConfigKey;
}
Test Case ID #cloudstack_Test_200_2
Test Case Name: testaddHostIpToCertDetailsIfConfigAllowsWhenConfigFalse(File: C:\Java_projects\Apache\cloudstack\engine\orchestration\src\test\java\com\cloud\vm\VirtualMachineManagerImplTest.java)
Mock Object Variable Name: testConfig
Suggested Diff
@@
Host vmHost = mock(Host.class);
- ConfigKey testConfig = mock(ConfigKey.class);
Long dataCenterId = 5L;
String hostIp = "1.1.1.1";
String routerIp = "2.2.2.2";
Map<String, String> ipAddresses = new HashMap<>();
ipAddresses.put(NetworkElementCommand.ROUTER_IP, routerIp);
+ ConfigKey testConfig = createMockConfigKey(false);
- when(testConfig.valueIn(dataCenterId)).thenReturn(false);
when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
virtualMachineManagerImpl.addHostIpToCertDetailsIfConfigAllows(vmHost, ipAddresses, testConfig);
assertFalse(ipAddresses.containsKey(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertTrue(ipAddresses.containsKey(NetworkElementCommand.ROUTER_IP));
assertEquals(routerIp, ipAddresses.get(NetworkElementCommand.ROUTER_IP));
@@
Original Test Code (click to expand)
@Test
public void testaddHostIpToCertDetailsIfConfigAllowsWhenConfigFalse() {
Host vmHost = mock(Host.class);
ConfigKey testConfig = mock(ConfigKey.class);
Long dataCenterId = 5L;
String hostIp = "1.1.1.1";
String routerIp = "2.2.2.2";
Map<String, String> ipAddresses = new HashMap<>();
ipAddresses.put(NetworkElementCommand.ROUTER_IP, routerIp);
when(testConfig.valueIn(dataCenterId)).thenReturn(false);
when(vmHost.getDataCenterId()).thenReturn(dataCenterId);
virtualMachineManagerImpl.addHostIpToCertDetailsIfConfigAllows(vmHost, ipAddresses, testConfig);
assertFalse(ipAddresses.containsKey(NetworkElementCommand.HYPERVISOR_HOST_PRIVATE_IP));
assertTrue(ipAddresses.containsKey(NetworkElementCommand.ROUTER_IP));
assertEquals(routerIp, ipAddresses.get(NetworkElementCommand.ROUTER_IP));
}
Reusable Method for MCI (click to expand)
private static ConfigKey createMockConfigKey(boolean valueInReturn) {
ConfigKey mockConfigKey = mock(ConfigKey.class);
when(mockConfigKey.valueIn(any(Long.class))).thenReturn(valueInReturn);
return mockConfigKey;
}
Mock Clone Instance #cloudstack_MCI_201
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.AutoScaleVmGroupTO
- Test Case Count: 12
- MO Count: 12
Reusable Method
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_201_1
Test Case Name: isNativeTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void isNativeTrue() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(policyTO);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertTrue(result);
}
@@
Original Test Code (click to expand)
@Test
public void isNativeTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_2
Test Case Name: monitorVirtualRouterAsGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(scaleUpPolicyTO, scaleDownPolicyTO);
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
@@
Original Test Code (click to expand)
@Test
public void monitorVirtualRouterAsGroup() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(minMembers);
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
autoScaleManagerImplSpy.monitorVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
Mockito.verify(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_3
Test Case Name: isNativeFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void isNativeFalse() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(policyTO);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertFalse(result);
}
@@
Original Test Code (click to expand)
@Test
public void isNativeFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_4
Test Case Name: hasSourceVirtualRouterTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void hasSourceVirtualRouterTrue() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
- when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(policyTO);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertTrue(result);
}
@@
Original Test Code (click to expand)
@Test
public void hasSourceVirtualRouterTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_5
Test Case Name: hasSourceVirtualRouterFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
public void hasSourceVirtualRouterFalse() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(policyTO);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertFalse(result);
}
@@
Original Test Code (click to expand)
@Test
public void hasSourceVirtualRouterFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_6
Test Case Name: getPolicyCounters(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void getPolicyCounters() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(policyTO);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
- when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
Map<Long, List<CounterTO>> result = autoScaleManagerImplSpy.getPolicyCounters(groupTO);
Assert.assertEquals(1, result.size());
List<CounterTO> counters = result.get(scaleUpPolicyId);
Assert.assertEquals(2, counters.size());
Assert.assertTrue(counters.contains(counterTO1));
Assert.assertTrue(counters.contains(counterTO2));
}
@@
Original Test Code (click to expand)
@Test
public void getPolicyCounters() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
Map<Long, List<CounterTO>> result = autoScaleManagerImplSpy.getPolicyCounters(groupTO);
Assert.assertEquals(1, result.size());
List<CounterTO> counters = result.get(scaleUpPolicyId);
Assert.assertEquals(2, counters.size());
Assert.assertTrue(counters.contains(counterTO1));
Assert.assertTrue(counters.contains(counterTO2));
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_7
Test Case Name: setGetAutoScaleMetricsCommandMetrics(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void setGetAutoScaleMetricsCommandMetrics() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
- when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(scaleUpPolicyTO, scaleDownPolicyTO);
List<VirtualRouterAutoScale.AutoScaleMetrics> result = autoScaleManagerImplSpy.setGetAutoScaleMetricsCommandMetrics(groupTO);
Assert.assertEquals(2, result.size());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, result.get(0).getCounter());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, result.get(1).getCounter());
}
@@
Original Test Code (click to expand)
@Test
public void setGetAutoScaleMetricsCommandMetrics() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
List<VirtualRouterAutoScale.AutoScaleMetrics> result = autoScaleManagerImplSpy.setGetAutoScaleMetricsCommandMetrics(groupTO);
Assert.assertEquals(2, result.size());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, result.get(0).getCounter());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, result.get(1).getCounter());
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_8
Test Case Name: getAutoscaleAction(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void getAutoscaleAction() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
- when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(policyTO);
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
when(groupTO.getId()).thenReturn(vmGroupId);
when(groupTO.getLoadBalancerId()).thenReturn(loadBalancerId);
PowerMockito.doReturn(Network.Provider.VirtualRouter).when(autoScaleManagerImplSpy).getLoadBalancerServiceProvider(loadBalancerId);
PowerMockito.doReturn(true).when(autoScaleManagerImplSpy).isQuitTimePassForPolicy(policyTO);
PowerMockito.doReturn(AutoScalePolicy.Action.SCALEUP).when(autoScaleManagerImplSpy).checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.getAutoscaleAction(countersMap, countersNumberMap, groupTO);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
}
@@
Original Test Code (click to expand)
@Test
public void getAutoscaleAction() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
when(groupTO.getId()).thenReturn(vmGroupId);
when(groupTO.getLoadBalancerId()).thenReturn(loadBalancerId);
PowerMockito.doReturn(Network.Provider.VirtualRouter).when(autoScaleManagerImplSpy).getLoadBalancerServiceProvider(loadBalancerId);
PowerMockito.doReturn(true).when(autoScaleManagerImplSpy).isQuitTimePassForPolicy(policyTO);
PowerMockito.doReturn(AutoScalePolicy.Action.SCALEUP).when(autoScaleManagerImplSpy).checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.getAutoscaleAction(countersMap, countersNumberMap, groupTO);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_9
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void setPerformanceMonitorCommandParams() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(policyTO);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
}
@@
Original Test Code (click to expand)
@Test
public void setPerformanceMonitorCommandParams() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_10
Test Case Name: cleanupAsVmGroupStatistics(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void cleanupAsVmGroupStatistics() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
- when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(policyTO);
when(groupTO.getId()).thenReturn(vmGroupId);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
autoScaleManagerImplSpy.cleanupAsVmGroupStatistics(groupTO);
Mockito.verify(asGroupStatisticsDao).removeByGroupAndPolicy(eq(vmGroupId), eq(scaleUpPolicyId), any());
Mockito.verify(asGroupStatisticsDao).removeByGroupId(eq(vmGroupId), any());
}
@@
Original Test Code (click to expand)
@Test
public void cleanupAsVmGroupStatistics() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(groupTO.getId()).thenReturn(vmGroupId);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
autoScaleManagerImplSpy.cleanupAsVmGroupStatistics(groupTO);
Mockito.verify(asGroupStatisticsDao).removeByGroupAndPolicy(eq(vmGroupId), eq(scaleUpPolicyId), any());
Mockito.verify(asGroupStatisticsDao).removeByGroupId(eq(vmGroupId), any());
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_11
Test Case Name: updateCountersMap1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void updateCountersMap1() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- when(groupTO.getId()).thenReturn(vmGroupId);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(scaleUpPolicyTO, scaleDownPolicyTO);
+ when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
- when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 1, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 2, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 3, AutoScaleValueType.INSTANT_VM, timestamp));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleDownPolicyId), eq(scaleDownCounterId), any())).thenReturn(stats);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(6)).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
}
Original Test Code (click to expand)
@Test
public void updateCountersMap1() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 1, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 2, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 3, AutoScaleValueType.INSTANT_VM, timestamp));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleDownPolicyId), eq(scaleDownCounterId), any())).thenReturn(stats);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(6)).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Test Case ID #cloudstack_Test_201_12
Test Case Name: updateCountersMap2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
public void updateCountersMap2() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- when(groupTO.getId()).thenReturn(vmGroupId);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(scaleUpPolicyTO);
+ when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
- when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
when(asGroupStatisticsDao.listInactiveByVmGroupAndPolicy(eq(vmGroupId), eq(scaleUpPolicyId), any())).thenReturn(new ArrayList<>());
when(asGroupStatisticsDao.listInactiveByVmGroupAndPolicy(eq(vmGroupId), eq(scaleDownPolicyId), any())).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 11, AutoScaleValueType.AGGREGATED_VM_GROUP, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 31, AutoScaleValueType.AGGREGATED_VM_GROUP, new Date(timestamp.getTime() + 10 * 1000)));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 51, AutoScaleValueType.AGGREGATED_VM_GROUP, new Date(timestamp.getTime() + 20 * 1000)));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(1);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithProcessedData(any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
// average per second
Mockito.verify(autoScaleManagerImplSpy, times(1)).updateCountersMapWithProcessedData(any(), any(), any(), eq((double) 2));
}
@@
Original Test Code (click to expand)
@Test
public void updateCountersMap2() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
when(asGroupStatisticsDao.listInactiveByVmGroupAndPolicy(eq(vmGroupId), eq(scaleUpPolicyId), any())).thenReturn(new ArrayList<>());
when(asGroupStatisticsDao.listInactiveByVmGroupAndPolicy(eq(vmGroupId), eq(scaleDownPolicyId), any())).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 11, AutoScaleValueType.AGGREGATED_VM_GROUP, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 31, AutoScaleValueType.AGGREGATED_VM_GROUP, new Date(timestamp.getTime() + 10 * 1000)));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 51, AutoScaleValueType.AGGREGATED_VM_GROUP, new Date(timestamp.getTime() + 20 * 1000)));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(1);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithProcessedData(any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(1)).updateCountersMapWithProcessedData(any(), any(), any(), eq((double) 2));
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(AutoScalePolicyTO... policies) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policies));
return groupTO;
}
Mock Clone Instance #cloudstack_MCI_202
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.AutoScaleVmGroupTO
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(Long idReturn) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(idReturn);
return groupTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_202_1
Test Case Name: processVmStatsByIdFromHost(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void processVmStatsByIdFromHost() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- when(groupTO.getId()).thenReturn(vmGroupId);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(vmGroupId);
List<Long> vmIds = Arrays.asList(virtualMachineId);
double cpuUtilization = 6;
double memoryKBs = 3;
Map<Long, VmStatsEntry> vmStatsById = new HashMap<>();
VmStatsEntry vmStats = new VmStatsEntry(virtualMachineId, memoryKBs, 4, 5, cpuUtilization, 7, 8, 9, 10, 11, 12, 13, "vm");
vmStatsById.put(virtualMachineId, vmStats);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
CounterTO counter1 = new CounterTO(counterId, counterName, Counter.Source.CPU, counterValue, counterProvider);
CounterTO counter2 = new CounterTO(counterId + 1, counterName, Counter.Source.MEMORY, counterValue, counterProvider);
CounterTO counter3 = new CounterTO(counterId + 2, counterName, Counter.Source.VIRTUALROUTER, counterValue, counterProvider);
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(counter1, counter2, counter3));
when(asGroupStatisticsDao.persist(any())).thenReturn(Mockito.mock(AutoScaleVmGroupStatisticsVO.class));
autoScaleManagerImplSpy.processVmStatsByIdFromHost(groupTO, vmIds, vmStatsById, policyCountersMap);
Mockito.verify(asGroupStatisticsDao, times(2)).persist(any());
}
@@
Original Test Code (click to expand)
@Test
public void processVmStatsByIdFromHost() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
List<Long> vmIds = Arrays.asList(virtualMachineId);
double cpuUtilization = 6;
double memoryKBs = 3;
Map<Long, VmStatsEntry> vmStatsById = new HashMap<>();
VmStatsEntry vmStats = new VmStatsEntry(virtualMachineId, memoryKBs, 4, 5, cpuUtilization, 7, 8, 9, 10, 11, 12, 13, "vm");
vmStatsById.put(virtualMachineId, vmStats);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
CounterTO counter1 = new CounterTO(counterId, counterName, Counter.Source.CPU, counterValue, counterProvider);
CounterTO counter2 = new CounterTO(counterId + 1, counterName, Counter.Source.MEMORY, counterValue, counterProvider);
CounterTO counter3 = new CounterTO(counterId + 2, counterName, Counter.Source.VIRTUALROUTER, counterValue, counterProvider);
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(counter1, counter2, counter3));
when(asGroupStatisticsDao.persist(any())).thenReturn(Mockito.mock(AutoScaleVmGroupStatisticsVO.class));
autoScaleManagerImplSpy.processVmStatsByIdFromHost(groupTO, vmIds, vmStatsById, policyCountersMap);
Mockito.verify(asGroupStatisticsDao, times(2)).persist(any());
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(Long idReturn) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(idReturn);
return groupTO;
}
Test Case ID #cloudstack_Test_202_2
Test Case Name: getHostAndVmIdsMap(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
public void getHostAndVmIdsMap() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- when(groupTO.getId()).thenReturn(vmGroupId);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(vmGroupId);
when(autoScaleVmGroupVmMapDao.listByGroup(vmGroupId)).thenReturn(Arrays.asList(autoScaleVmGroupVmMapVOMock));
when(autoScaleVmGroupVmMapVOMock.getInstanceId()).thenReturn(virtualMachineId);
when(userVmDao.findById(virtualMachineId)).thenReturn(userVmMock);
when(userVmMock.getHostId()).thenReturn(null);
Map<Long, List<Long>> result = autoScaleManagerImplSpy.getHostAndVmIdsMap(groupTO);
Assert.assertEquals(1, result.size());
List<Long> vmIds = result.get(-1L);
Assert.assertNotNull(vmIds);
Assert.assertEquals(1, vmIds.size());
Assert.assertEquals(virtualMachineId, vmIds.get(0));
}
Original Test Code (click to expand)
@Test
public void getHostAndVmIdsMap() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
when(autoScaleVmGroupVmMapDao.listByGroup(vmGroupId)).thenReturn(Arrays.asList(autoScaleVmGroupVmMapVOMock));
when(autoScaleVmGroupVmMapVOMock.getInstanceId()).thenReturn(virtualMachineId);
when(userVmDao.findById(virtualMachineId)).thenReturn(userVmMock);
when(userVmMock.getHostId()).thenReturn(null);
Map<Long, List<Long>> result = autoScaleManagerImplSpy.getHostAndVmIdsMap(groupTO);
Assert.assertEquals(1, result.size());
List<Long> vmIds = result.get(-1L);
Assert.assertNotNull(vmIds);
Assert.assertEquals(1, vmIds.size());
Assert.assertEquals(virtualMachineId, vmIds.get(0));
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(Long idReturn) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(idReturn);
return groupTO;
}
Mock Clone Instance #cloudstack_MCI_203
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.AutoScaleVmGroupTO
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(Long loadBalancerId) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getLoadBalancerId()).thenReturn(loadBalancerId);
return groupTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_203_1
Test Case Name: getNetworkStatsFromVirtualRouterWithoutRouter(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void getNetworkStatsFromVirtualRouterWithoutRouter() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- when(groupTO.getLoadBalancerId()).thenReturn(loadBalancerId);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(loadBalancerId);
PowerMockito.doReturn(networkMock).when(autoScaleManagerImplSpy).getNetwork(loadBalancerId);
when(networkMock.getId()).thenReturn(networkId);
Pair<String, Integer> publicIpAddr = new Pair<>(ipAddress, memberPort);
PowerMockito.doReturn(publicIpAddr).when(autoScaleManagerImplSpy).getPublicIpAndPort(loadBalancerId);
when(routerDao.listByNetworkAndRole(networkId, VirtualRouter.Role.VIRTUAL_ROUTER)).thenReturn(new ArrayList<>());
PowerMockito.doNothing().when(autoScaleManagerImplSpy).processGetAutoScaleMetricsAnswer(any(), any(), nullable(Long.class));
autoScaleManagerImplSpy.getNetworkStatsFromVirtualRouter(groupTO);
Mockito.verify(autoScaleManagerImplSpy).processGetAutoScaleMetricsAnswer(eq(groupTO), any(), eq(null));
}
@@
Original Test Code (click to expand)
@Test
public void getNetworkStatsFromVirtualRouterWithoutRouter() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getLoadBalancerId()).thenReturn(loadBalancerId);
PowerMockito.doReturn(networkMock).when(autoScaleManagerImplSpy).getNetwork(loadBalancerId);
when(networkMock.getId()).thenReturn(networkId);
Pair<String, Integer> publicIpAddr = new Pair<>(ipAddress, memberPort);
PowerMockito.doReturn(publicIpAddr).when(autoScaleManagerImplSpy).getPublicIpAndPort(loadBalancerId);
when(routerDao.listByNetworkAndRole(networkId, VirtualRouter.Role.VIRTUAL_ROUTER)).thenReturn(new ArrayList<>());
PowerMockito.doNothing().when(autoScaleManagerImplSpy).processGetAutoScaleMetricsAnswer(any(), any(), nullable(Long.class));
autoScaleManagerImplSpy.getNetworkStatsFromVirtualRouter(groupTO);
Mockito.verify(autoScaleManagerImplSpy).processGetAutoScaleMetricsAnswer(eq(groupTO), any(), eq(null));
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(Long loadBalancerId) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getLoadBalancerId()).thenReturn(loadBalancerId);
return groupTO;
}
Test Case ID #cloudstack_Test_203_2
Test Case Name: getNetworkStatsFromVirtualRouterWithOneRouter(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void getNetworkStatsFromVirtualRouterWithOneRouter() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
- when(groupTO.getLoadBalancerId()).thenReturn(loadBalancerId);
+ AutoScaleVmGroupTO groupTO = createMockAutoScaleVmGroupTO(loadBalancerId);
PowerMockito.doReturn(networkMock).when(autoScaleManagerImplSpy).getNetwork(loadBalancerId);
when(networkMock.getId()).thenReturn(networkId);
Pair<String, Integer> publicIpAddr = new Pair<>(ipAddress, memberPort);
PowerMockito.doReturn(publicIpAddr).when(autoScaleManagerImplSpy).getPublicIpAndPort(loadBalancerId);
when(routerDao.listByNetworkAndRole(networkId, VirtualRouter.Role.VIRTUAL_ROUTER)).thenReturn(Arrays.asList(domainRouterMock));
when(domainRouterMock.getState()).thenReturn(VirtualMachine.State.Running);
when(domainRouterMock.getId()).thenReturn(domainRouterId);
when(domainRouterMock.getHostId()).thenReturn(hostId);
List<VirtualRouterAutoScale.AutoScaleMetrics> metrics = Mockito.mock(ArrayList.class);
PowerMockito.doReturn(metrics).when(autoScaleManagerImplSpy).setGetAutoScaleMetricsCommandMetrics(groupTO);
GetAutoScaleMetricsCommand command = Mockito.mock(GetAutoScaleMetricsCommand.class);
List<VirtualRouterAutoScale.AutoScaleMetricsValue> values = Mockito.mock(ArrayList.class);
GetAutoScaleMetricsAnswer answer = new GetAutoScaleMetricsAnswer(command, true, values);
when(agentMgr.easySend(eq(hostId), any(GetAutoScaleMetricsCommand.class))).thenReturn(answer);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).processGetAutoScaleMetricsAnswer(any(), any(), nullable(Long.class));
autoScaleManagerImplSpy.getNetworkStatsFromVirtualRouter(groupTO);
Mockito.verify(agentMgr).easySend(eq(hostId), any());
Mockito.verify(autoScaleManagerImplSpy).processGetAutoScaleMetricsAnswer(groupTO, values, domainRouterId);
}
@@
Original Test Code (click to expand)
@Test
public void getNetworkStatsFromVirtualRouterWithOneRouter() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getLoadBalancerId()).thenReturn(loadBalancerId);
PowerMockito.doReturn(networkMock).when(autoScaleManagerImplSpy).getNetwork(loadBalancerId);
when(networkMock.getId()).thenReturn(networkId);
Pair<String, Integer> publicIpAddr = new Pair<>(ipAddress, memberPort);
PowerMockito.doReturn(publicIpAddr).when(autoScaleManagerImplSpy).getPublicIpAndPort(loadBalancerId);
when(routerDao.listByNetworkAndRole(networkId, VirtualRouter.Role.VIRTUAL_ROUTER)).thenReturn(Arrays.asList(domainRouterMock));
when(domainRouterMock.getState()).thenReturn(VirtualMachine.State.Running);
when(domainRouterMock.getId()).thenReturn(domainRouterId);
when(domainRouterMock.getHostId()).thenReturn(hostId);
List<VirtualRouterAutoScale.AutoScaleMetrics> metrics = Mockito.mock(ArrayList.class);
PowerMockito.doReturn(metrics).when(autoScaleManagerImplSpy).setGetAutoScaleMetricsCommandMetrics(groupTO);
GetAutoScaleMetricsCommand command = Mockito.mock(GetAutoScaleMetricsCommand.class);
List<VirtualRouterAutoScale.AutoScaleMetricsValue> values = Mockito.mock(ArrayList.class);
GetAutoScaleMetricsAnswer answer = new GetAutoScaleMetricsAnswer(command, true, values);
when(agentMgr.easySend(eq(hostId), any(GetAutoScaleMetricsCommand.class))).thenReturn(answer);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).processGetAutoScaleMetricsAnswer(any(), any(), nullable(Long.class));
autoScaleManagerImplSpy.getNetworkStatsFromVirtualRouter(groupTO);
Mockito.verify(agentMgr).easySend(eq(hostId), any());
Mockito.verify(autoScaleManagerImplSpy).processGetAutoScaleMetricsAnswer(groupTO, values, domainRouterId);
}
Reusable Method for MCI (click to expand)
private static AutoScaleVmGroupTO createMockAutoScaleVmGroupTO(Long loadBalancerId) {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getLoadBalancerId()).thenReturn(loadBalancerId);
return groupTO;
}
Mock Clone Instance #cloudstack_MCI_204
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.AutoScaleVmGroupTO
- Test Case Count: 7
- MO Count: 7
Reusable Method
private AutoScaleVmGroupTO groupTO;
@BeforeEach
public void setUp() {
groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
}
groupTO
The refactoring details in each test cases
Test Case ID #cloudstack_Test_204_1
Test Case Name: checkNetScalerAsGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void checkNetScalerAsGroup() throws OperationTimedoutException, AgentUnavailableException {
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
+ // removed local mock; replaced with global field `groupTO`
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doReturn(true).when(autoScaleManagerImplSpy).isNative(groupTO);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(minMembers);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(autoScaleVmGroupVmMapDao.listByGroup(vmGroupId)).thenReturn(Arrays.asList(autoScaleVmGroupVmMapVOMock));
when(autoScaleVmGroupVmMapVOMock.getInstanceId()).thenReturn(virtualMachineId);
when(vmInstanceDao.findById(virtualMachineId)).thenReturn(userVmMock);
when(userVmMock.getHostId()).thenReturn(hostId);
when(userVmMock.getInstanceName()).thenReturn(vmName);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).setPerformanceMonitorCommandParams(any(), any());
PerformanceMonitorCommand command = Mockito.mock(PerformanceMonitorCommand.class);
PerformanceMonitorAnswer answer = new PerformanceMonitorAnswer(command, true, "result");
when(agentMgr.send(eq(hostId), any(PerformanceMonitorCommand.class))).thenReturn(answer);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).processPerformanceMonitorAnswer(any(), any(), any(), any(), any());
PowerMockito.doReturn(AutoScalePolicy.Action.SCALEUP).when(autoScaleManagerImplSpy).getAutoscaleAction(any(), any(), any());
PowerMockito.doNothing().when(autoScaleManagerImplSpy).doScaleUp(vmGroupId, 1);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).cleanupAsVmGroupStatistics(groupTO);
autoScaleManagerImplSpy.checkNetScalerAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).doScaleUp(vmGroupId, 1);
}
Original Test Code (click to expand)
@Test
public void checkNetScalerAsGroup() throws OperationTimedoutException, AgentUnavailableException {
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doReturn(true).when(autoScaleManagerImplSpy).isNative(groupTO);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(minMembers);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(autoScaleVmGroupVmMapDao.listByGroup(vmGroupId)).thenReturn(Arrays.asList(autoScaleVmGroupVmMapVOMock));
when(autoScaleVmGroupVmMapVOMock.getInstanceId()).thenReturn(virtualMachineId);
when(vmInstanceDao.findById(virtualMachineId)).thenReturn(userVmMock);
when(userVmMock.getHostId()).thenReturn(hostId);
when(userVmMock.getInstanceName()).thenReturn(vmName);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).setPerformanceMonitorCommandParams(any(), any());
PerformanceMonitorCommand command = Mockito.mock(PerformanceMonitorCommand.class);
PerformanceMonitorAnswer answer = new PerformanceMonitorAnswer(command, true, "result");
when(agentMgr.send(eq(hostId), any(PerformanceMonitorCommand.class))).thenReturn(answer);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).processPerformanceMonitorAnswer(any(), any(), any(), any(), any());
PowerMockito.doReturn(AutoScalePolicy.Action.SCALEUP).when(autoScaleManagerImplSpy).getAutoscaleAction(any(), any(), any());
PowerMockito.doNothing().when(autoScaleManagerImplSpy).doScaleUp(vmGroupId, 1);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).cleanupAsVmGroupStatistics(groupTO);
autoScaleManagerImplSpy.checkNetScalerAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).doScaleUp(vmGroupId, 1);
}
Reusable Method for MCI (click to expand)
private AutoScaleVmGroupTO groupTO;
@BeforeEach
public void setUp() {
groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
}
groupTO
Test Case ID #cloudstack_Test_204_2
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void processPerformanceMonitorAnswer() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
+ // removed local mock; replaced with global field `groupTO`
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
Map<String, String> params = new HashMap<>();
params.put("con1", String.valueOf(scaleUpConditionId));
params.put("con2", String.valueOf(scaleDownConditionId));
double value1 = 50;
double value2 = 100;
String details = String.format("1.%s:%s,2.%s:%s", scaleUpCounterId, value1, scaleDownCounterId, value2);
autoScaleManagerImplSpy.processPerformanceMonitorAnswer(countersMap, countersNumberMap, groupTO, params, details);
Mockito.verify(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), eq(groupTO), eq(scaleUpCounterId), eq(scaleUpConditionId), eq(0L), eq(value1), eq(AutoScaleValueType.INSTANT_VM));
Mockito.verify(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), eq(groupTO), eq(scaleDownCounterId), eq(scaleDownConditionId), eq(0L), eq(value2), eq(AutoScaleValueType.INSTANT_VM));
}
Original Test Code (click to expand)
@Test
public void processPerformanceMonitorAnswer() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
Map<String, String> params = new HashMap<>();
params.put("con1", String.valueOf(scaleUpConditionId));
params.put("con2", String.valueOf(scaleDownConditionId));
double value1 = 50;
double value2 = 100;
String details = String.format("1.%s:%s,2.%s:%s", scaleUpCounterId, value1, scaleDownCounterId, value2);
autoScaleManagerImplSpy.processPerformanceMonitorAnswer(countersMap, countersNumberMap, groupTO, params, details);
Mockito.verify(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), eq(groupTO), eq(scaleUpCounterId), eq(scaleUpConditionId), eq(0L), eq(value1), eq(AutoScaleValueType.INSTANT_VM));
Mockito.verify(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), eq(groupTO), eq(scaleDownCounterId), eq(scaleDownConditionId), eq(0L), eq(value2), eq(AutoScaleValueType.INSTANT_VM));
}
Reusable Method for MCI (click to expand)
private AutoScaleVmGroupTO groupTO;
@BeforeEach
public void setUp() {
groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
}
groupTO
Test Case ID #cloudstack_Test_204_3
Test Case Name: checkVirtualRouterAsGroupAndScaleUp(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void checkVirtualRouterAsGroupAndScaleUp() {
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
+ // removed local mock; replaced with global field `groupTO`
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doReturn(true).when(autoScaleManagerImplSpy).updateCountersMap(any(), any(), any());
PowerMockito.doReturn(AutoScalePolicy.Action.SCALEUP).when(autoScaleManagerImplSpy).getAutoscaleAction(any(), any(), any());
PowerMockito.doNothing().when(autoScaleManagerImplSpy).doScaleUp(vmGroupId, 1);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).cleanupAsVmGroupStatistics(groupTO);
autoScaleManagerImplSpy.checkVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).doScaleUp(vmGroupId, 1);
}
Original Test Code (click to expand)
@Test
public void checkVirtualRouterAsGroupAndScaleUp() {
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doReturn(true).when(autoScaleManagerImplSpy).updateCountersMap(any(), any(), any());
PowerMockito.doReturn(AutoScalePolicy.Action.SCALEUP).when(autoScaleManagerImplSpy).getAutoscaleAction(any(), any(), any());
PowerMockito.doNothing().when(autoScaleManagerImplSpy).doScaleUp(vmGroupId, 1);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).cleanupAsVmGroupStatistics(groupTO);
autoScaleManagerImplSpy.checkVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).doScaleUp(vmGroupId, 1);
}
Reusable Method for MCI (click to expand)
private AutoScaleVmGroupTO groupTO;
@BeforeEach
public void setUp() {
groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
}
groupTO
Test Case ID #cloudstack_Test_204_4
Test Case Name: checkVirtualRouterAsGroupAndScaleDown(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void checkVirtualRouterAsGroupAndScaleDown() {
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
+ // removed local mock; replaced with global field `groupTO`
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doReturn(true).when(autoScaleManagerImplSpy).updateCountersMap(any(), any(), any());
PowerMockito.doReturn(AutoScalePolicy.Action.SCALEDOWN).when(autoScaleManagerImplSpy).getAutoscaleAction(any(), any(), any());
PowerMockito.doNothing().when(autoScaleManagerImplSpy).doScaleDown(vmGroupId);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).cleanupAsVmGroupStatistics(groupTO);
autoScaleManagerImplSpy.checkVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).doScaleDown(vmGroupId);
}
Original Test Code (click to expand)
@Test
public void checkVirtualRouterAsGroupAndScaleDown() {
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doReturn(true).when(autoScaleManagerImplSpy).updateCountersMap(any(), any(), any());
PowerMockito.doReturn(AutoScalePolicy.Action.SCALEDOWN).when(autoScaleManagerImplSpy).getAutoscaleAction(any(), any(), any());
PowerMockito.doNothing().when(autoScaleManagerImplSpy).doScaleDown(vmGroupId);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).cleanupAsVmGroupStatistics(groupTO);
autoScaleManagerImplSpy.checkVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).doScaleDown(vmGroupId);
}
Reusable Method for MCI (click to expand)
private AutoScaleVmGroupTO groupTO;
@BeforeEach
public void setUp() {
groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
}
groupTO
Test Case ID #cloudstack_Test_204_5
Test Case Name: updateCountersMapWithInstantDataForCPU(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void updateCountersMapWithInstantDataForCPU() {
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
+ // removed local mock; replaced with global field `groupTO`
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(counterDao.findById(counterId)).thenReturn(counterMock);
when(counterMock.getSource()).thenReturn(Counter.Source.CPU);
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
String key = scaleUpPolicyId + "-" + conditionId + "-" + counterId;
countersMap.put(key, (double) 10);
countersNumberMap.put(key, 1);
double value = 0.5;
autoScaleManagerImplSpy.updateCountersMapWithInstantData(countersMap, countersNumberMap, groupTO, counterId, conditionId, scaleUpPolicyId, value, AutoScaleValueType.INSTANT_VM);
Assert.assertEquals(1, countersMap.size());
Assert.assertEquals(1, countersNumberMap.size());
Assert.assertEquals(60, (double) countersMap.get(key), 0);
Assert.assertEquals(2, (long) countersNumberMap.get(key));
}
Original Test Code (click to expand)
@Test
public void updateCountersMapWithInstantDataForCPU() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(counterDao.findById(counterId)).thenReturn(counterMock);
when(counterMock.getSource()).thenReturn(Counter.Source.CPU);
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
String key = scaleUpPolicyId + "-" + conditionId + "-" + counterId;
countersMap.put(key, (double) 10);
countersNumberMap.put(key, 1);
double value = 0.5;
autoScaleManagerImplSpy.updateCountersMapWithInstantData(countersMap, countersNumberMap, groupTO, counterId, conditionId, scaleUpPolicyId, value, AutoScaleValueType.INSTANT_VM);
Assert.assertEquals(1, countersMap.size());
Assert.assertEquals(1, countersNumberMap.size());
Assert.assertEquals(60, (double) countersMap.get(key), 0);
Assert.assertEquals(2, (long) countersNumberMap.get(key));
}
Reusable Method for MCI (click to expand)
private AutoScaleVmGroupTO groupTO;
@BeforeEach
public void setUp() {
groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
}
groupTO
Test Case ID #cloudstack_Test_204_6
Test Case Name: getVmStatsFromHosts(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(scaleUpCounter));
policyCountersMap.put(scaleDownPolicyId, Arrays.asList(scaleDownCounter));
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
+ // removed local mock; replaced with global field `groupTO`
PowerMockito.doReturn(hostAndVmIdsMap).when(autoScaleManagerImplSpy).getHostAndVmIdsMap(groupTO);
PowerMockito.doReturn(policyCountersMap).when(autoScaleManagerImplSpy).getPolicyCounters(groupTO);
Map<Long, VmStatsEntry> vmStatsById = new HashMap<>();
PowerMockito.doReturn(vmStatsById).doReturn(vmStatsById).when(autoScaleManagerImplSpy).getVmStatsByIdFromHost(anyLong(), any());
PowerMockito.doNothing().doNothing().when(autoScaleManagerImplSpy).processVmStatsByIdFromHost(any(), any(), any(), any());
autoScaleManagerImplSpy.getVmStatsFromHosts(groupTO);
Mockito.verify(autoScaleManagerImplSpy, times(2)).getVmStatsByIdFromHost(anyLong(), any());
Mockito.verify(autoScaleManagerImplSpy, times(2)).processVmStatsByIdFromHost(any(), any(), any(), any());
Original Test Code (click to expand)
@Test
public void getVmStatsFromHosts() {
Map<Long, List<Long>> hostAndVmIdsMap = new HashMap<>();
hostAndVmIdsMap.put(1L, Arrays.asList(2L, 3L));
hostAndVmIdsMap.put(4L, Arrays.asList(5L, 6L));
CounterTO scaleUpCounter = Mockito.mock(CounterTO.class);
CounterTO scaleDownCounter = Mockito.mock(CounterTO.class);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(scaleUpCounter));
policyCountersMap.put(scaleDownPolicyId, Arrays.asList(scaleDownCounter));
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
PowerMockito.doReturn(hostAndVmIdsMap).when(autoScaleManagerImplSpy).getHostAndVmIdsMap(groupTO);
PowerMockito.doReturn(policyCountersMap).when(autoScaleManagerImplSpy).getPolicyCounters(groupTO);
Map<Long, VmStatsEntry> vmStatsById = new HashMap<>();
PowerMockito.doReturn(vmStatsById).doReturn(vmStatsById).when(autoScaleManagerImplSpy).getVmStatsByIdFromHost(anyLong(), any());
PowerMockito.doNothing().doNothing().when(autoScaleManagerImplSpy).processVmStatsByIdFromHost(any(), any(), any(), any());
autoScaleManagerImplSpy.getVmStatsFromHosts(groupTO);
Mockito.verify(autoScaleManagerImplSpy, times(2)).getVmStatsByIdFromHost(anyLong(), any());
Mockito.verify(autoScaleManagerImplSpy, times(2)).processVmStatsByIdFromHost(any(), any(), any(), any());
}
Reusable Method for MCI (click to expand)
private AutoScaleVmGroupTO groupTO;
@BeforeEach
public void setUp() {
groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
}
groupTO
Test Case ID #cloudstack_Test_204_7
Test Case Name: processGetAutoScaleMetricsAnswer(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: groupTO
Suggested Diff
@@
@Test
public void processGetAutoScaleMetricsAnswer() {
CounterTO scaleUpCounter = Mockito.mock(CounterTO.class);
CounterTO scaleDownCounter = Mockito.mock(CounterTO.class);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(scaleUpCounter));
policyCountersMap.put(scaleDownPolicyId, Arrays.asList(scaleDownCounter));
- AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
+ // removed local mock; replaced with global field `groupTO`
PowerMockito.doReturn(policyCountersMap).when(autoScaleManagerImplSpy).getPolicyCounters(groupTO);
when(scaleUpCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleUpCounter.getId()).thenReturn(counterId);
when(scaleDownCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounter.getId()).thenReturn(counterId);
List<VirtualRouterAutoScale.AutoScaleMetrics> metrics = new ArrayList<>();
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.LB_AVERAGE_CONNECTIONS, scaleUpPolicyId, 2L, counterId, 4));
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, scaleUpPolicyId, 2L, counterId, 4));
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, scaleDownPolicyId, 2L, counterId, 4));
List<VirtualRouterAutoScale.AutoScaleMetricsValue> values = new ArrayList<>();
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(0), AutoScaleValueType.INSTANT_VM, Double.valueOf(1)));
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(1), AutoScaleValueType.INSTANT_VM, Double.valueOf(2)));
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(2), AutoScaleValueType.INSTANT_VM, Double.valueOf(3)));
autoScaleManagerImplSpy.processGetAutoScaleMetricsAnswer(groupTO, values, domainRouterId);
Mockito.verify(asGroupStatisticsDao, times(2)).persist(any());
}
Original Test Code (click to expand)
@Test
public void processGetAutoScaleMetricsAnswer() {
CounterTO scaleUpCounter = Mockito.mock(CounterTO.class);
CounterTO scaleDownCounter = Mockito.mock(CounterTO.class);
Map<Long, List<CounterTO>> policyCountersMap = new HashMap<>();
policyCountersMap.put(scaleUpPolicyId, Arrays.asList(scaleUpCounter));
policyCountersMap.put(scaleDownPolicyId, Arrays.asList(scaleDownCounter));
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
PowerMockito.doReturn(policyCountersMap).when(autoScaleManagerImplSpy).getPolicyCounters(groupTO);
when(scaleUpCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleUpCounter.getId()).thenReturn(counterId);
when(scaleDownCounter.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounter.getId()).thenReturn(counterId);
List<VirtualRouterAutoScale.AutoScaleMetrics> metrics = new ArrayList<>();
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.LB_AVERAGE_CONNECTIONS, scaleUpPolicyId, 2L, counterId, 4));
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, scaleUpPolicyId, 2L, counterId, 4));
metrics.add(new VirtualRouterAutoScale.AutoScaleMetrics(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, scaleDownPolicyId, 2L, counterId, 4));
List<VirtualRouterAutoScale.AutoScaleMetricsValue> values = new ArrayList<>();
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(0), AutoScaleValueType.INSTANT_VM, Double.valueOf(1)));
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(1), AutoScaleValueType.INSTANT_VM, Double.valueOf(2)));
values.add(new VirtualRouterAutoScale.AutoScaleMetricsValue(metrics.get(2), AutoScaleValueType.INSTANT_VM, Double.valueOf(3)));
autoScaleManagerImplSpy.processGetAutoScaleMetricsAnswer(groupTO, values, domainRouterId);
Mockito.verify(asGroupStatisticsDao, times(2)).persist(any());
}
Reusable Method for MCI (click to expand)
private AutoScaleVmGroupTO groupTO;
@BeforeEach
public void setUp() {
groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
}
groupTO
Mock Clone Instance #cloudstack_MCI_205
- Scope: method level
- Mocked Class:
com.cloud.network.security.SecurityRule
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static SecurityRule createMockSecurityRule(SecurityRule.SecurityRuleType ruleType) {
SecurityRule securityRule = mock(SecurityRule.class);
when(securityRule.getRuleType()).thenReturn(ruleType);
return securityRule;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_205_1
Test Case Name: addTungstenSecurityGroupEgressRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: securityRule
Suggested Diff
@@
- SecurityRule securityRule = mock(SecurityRule.class);
+ SecurityRule securityRule = createMockSecurityRule(SecurityRule.SecurityRuleType.EgressRule);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenAnswer getTungstenSecurityGroupAnswer = mock(TungstenAnswer.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
net.juniper.tungsten.api.types.SecurityGroup securityGroup = mock(net.juniper.tungsten.api.types.SecurityGroup.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
NicVO nicVO = mock(NicVO.class);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenSecurityGroupCommand.class), anyLong())).thenReturn(getTungstenSecurityGroupAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(getTungstenSecurityGroupAnswer.getResult()).thenReturn(true);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(getTungstenSecurityGroupAnswer.getApiObjectBase()).thenReturn(securityGroup);
- when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.EgressRule);
when(tungstenSecurityGroupRuleDao.findDefaultSecurityRule(anyLong(), anyString(), anyString())).thenReturn(tungstenSecurityGroupRuleVO);
when(securityRule.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(securityRule.getEndPort()).thenReturn(NetUtils.PORT_RANGE_MIN);
when(securityGroupVMMapDao.listVmIdsBySecurityGroup(anyLong())).thenReturn(List.of(1L));
when(nicDao.findDefaultNicForVM(anyLong())).thenReturn(nicVO);
when(nicVO.getIPv4Address()).thenReturn("192.168.100.100");
when(nicVO.getIPv6Address()).thenReturn("fd00::1");
when(nicVO.getSecondaryIp()).thenReturn(true);
when(nicSecIpDao.getSecondaryIpAddressesForNic(anyLong())).thenReturn(List.of("192.168.100.200"));
when(tungstenSecurityGroupRuleDao.persist(any(TungstenSecurityGroupRuleVO.class))).thenReturn(tungstenSecurityGroupRuleVO);
when(securityRule.getAllowedNetworkId()).thenReturn(1L);
assertTrue(tungstenService.addTungstenSecurityGroupRule(List.of(securityRule)));
@@
Original Test Code (click to expand)
@Test
public void addTungstenSecurityGroupEgressRuleTest() {
SecurityRule securityRule = mock(SecurityRule.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenAnswer getTungstenSecurityGroupAnswer = mock(TungstenAnswer.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
net.juniper.tungsten.api.types.SecurityGroup securityGroup = mock(net.juniper.tungsten.api.types.SecurityGroup.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
NicVO nicVO = mock(NicVO.class);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenSecurityGroupCommand.class), anyLong())).thenReturn(getTungstenSecurityGroupAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(getTungstenSecurityGroupAnswer.getResult()).thenReturn(true);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(getTungstenSecurityGroupAnswer.getApiObjectBase()).thenReturn(securityGroup);
when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.EgressRule);
when(tungstenSecurityGroupRuleDao.findDefaultSecurityRule(anyLong(), anyString(), anyString())).thenReturn(tungstenSecurityGroupRuleVO);
when(securityRule.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(securityRule.getEndPort()).thenReturn(NetUtils.PORT_RANGE_MIN);
when(securityGroupVMMapDao.listVmIdsBySecurityGroup(anyLong())).thenReturn(List.of(1L));
when(nicDao.findDefaultNicForVM(anyLong())).thenReturn(nicVO);
when(nicVO.getIPv4Address()).thenReturn("192.168.100.100");
when(nicVO.getIPv6Address()).thenReturn("fd00::1");
when(nicVO.getSecondaryIp()).thenReturn(true);
when(nicSecIpDao.getSecondaryIpAddressesForNic(anyLong())).thenReturn(List.of("192.168.100.200"));
when(tungstenSecurityGroupRuleDao.persist(any(TungstenSecurityGroupRuleVO.class))).thenReturn(tungstenSecurityGroupRuleVO);
when(securityRule.getAllowedNetworkId()).thenReturn(1L);
assertTrue(tungstenService.addTungstenSecurityGroupRule(List.of(securityRule)));
}
Reusable Method for MCI (click to expand)
private static SecurityRule createMockSecurityRule(SecurityRule.SecurityRuleType ruleType) {
SecurityRule securityRule = mock(SecurityRule.class);
when(securityRule.getRuleType()).thenReturn(ruleType);
return securityRule;
}
Test Case ID #cloudstack_Test_205_2
Test Case Name: addTungstenSecurityGroupIngressRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: securityRule
Suggested Diff
@@
@Test
public void addTungstenSecurityGroupIngressRuleTest() {
- SecurityRule securityRule = mock(SecurityRule.class);
+ SecurityRule securityRule = createMockSecurityRule(SecurityRule.SecurityRuleType.IngressRule);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenAnswer getTungstenSecurityGroupAnswer = mock(TungstenAnswer.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
net.juniper.tungsten.api.types.SecurityGroup securityGroup = mock(net.juniper.tungsten.api.types.SecurityGroup.class);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenSecurityGroupCommand.class), anyLong())).thenReturn(getTungstenSecurityGroupAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(getTungstenSecurityGroupAnswer.getResult()).thenReturn(true);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(getTungstenSecurityGroupAnswer.getApiObjectBase()).thenReturn(securityGroup);
- when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.IngressRule);
when(securityRule.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(securityRule.getEndPort()).thenReturn(NetUtils.PORT_RANGE_MIN);
when(securityRule.getAllowedNetworkId()).thenReturn(null);
assertTrue(tungstenService.addTungstenSecurityGroupRule(List.of(securityRule)));
}
@@
Original Test Code (click to expand)
@Test
public void addTungstenSecurityGroupIngressRuleTest() {
SecurityRule securityRule = mock(SecurityRule.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenAnswer getTungstenSecurityGroupAnswer = mock(TungstenAnswer.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
net.juniper.tungsten.api.types.SecurityGroup securityGroup = mock(net.juniper.tungsten.api.types.SecurityGroup.class);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenSecurityGroupCommand.class), anyLong())).thenReturn(getTungstenSecurityGroupAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(getTungstenSecurityGroupAnswer.getResult()).thenReturn(true);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(getTungstenSecurityGroupAnswer.getApiObjectBase()).thenReturn(securityGroup);
when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.IngressRule);
when(securityRule.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(securityRule.getEndPort()).thenReturn(NetUtils.PORT_RANGE_MIN);
when(securityRule.getAllowedNetworkId()).thenReturn(null);
assertTrue(tungstenService.addTungstenSecurityGroupRule(List.of(securityRule)));
}
Reusable Method for MCI (click to expand)
private static SecurityRule createMockSecurityRule(SecurityRule.SecurityRuleType ruleType) {
SecurityRule securityRule = mock(SecurityRule.class);
when(securityRule.getRuleType()).thenReturn(ruleType);
return securityRule;
}
Test Case ID #cloudstack_Test_205_3
Test Case Name: removeTungstenSecurityGroupEgressRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: securityRule
Suggested Diff
@@
- SecurityRule securityRule = mock(SecurityRule.class);
+ SecurityRule securityRule = createMockSecurityRule(SecurityRule.SecurityRuleType.EgressRule);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
NicVO nicVO = mock(NicVO.class);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
- when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.EgressRule);
- when(securityRule.getType()).thenReturn("egress");
+ when(securityRule.getType()).thenReturn("egress");
when(tungstenSecurityGroupRuleDao.persist(any(TungstenSecurityGroupRuleVO.class))).thenReturn(tungstenSecurityGroupRuleVO);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
- when(securityRule.getAllowedNetworkId()).thenReturn(1L);
+ when(securityRule.getAllowedNetworkId()).thenReturn(1L);
when(securityGroupVMMapDao.listVmIdsBySecurityGroup(anyLong())).thenReturn(List.of(1L));
when(nicDao.findDefaultNicForVM(anyLong())).thenReturn(nicVO);
when(tungstenSecurityGroupRuleDao.expunge(anyLong())).thenReturn(true);
when(nicVO.getIPv4Address()).thenReturn("192.168.100.100");
when(nicVO.getIPv6Address()).thenReturn("fd00::1");
when(nicVO.getSecondaryIp()).thenReturn(true);
when(nicSecIpDao.getSecondaryIpAddressesForNic(anyLong())).thenReturn(List.of("192.168.100.200"));
when(tungstenSecurityGroupRuleDao.findBySecurityGroupAndRuleTypeAndRuleTarget(anyLong(), anyString(), anyString())).thenReturn(tungstenSecurityGroupRuleVO);
assertTrue(tungstenService.removeTungstenSecurityGroupRule(securityRule));
@@
Original Test Code (click to expand)
@Test
public void removeTungstenSecurityGroupEgressRuleTest() {
SecurityRule securityRule = mock(SecurityRule.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
NicVO nicVO = mock(NicVO.class);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.EgressRule);
when(securityRule.getType()).thenReturn("egress");
when(tungstenSecurityGroupRuleDao.persist(any(TungstenSecurityGroupRuleVO.class))).thenReturn(tungstenSecurityGroupRuleVO);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(securityRule.getAllowedNetworkId()).thenReturn(1L);
when(securityGroupVMMapDao.listVmIdsBySecurityGroup(anyLong())).thenReturn(List.of(1L));
when(nicDao.findDefaultNicForVM(anyLong())).thenReturn(nicVO);
when(tungstenSecurityGroupRuleDao.expunge(anyLong())).thenReturn(true);
when(nicVO.getIPv4Address()).thenReturn("192.168.100.100");
when(nicVO.getIPv6Address()).thenReturn("fd00::1");
when(nicVO.getSecondaryIp()).thenReturn(true);
when(nicSecIpDao.getSecondaryIpAddressesForNic(anyLong())).thenReturn(List.of("192.168.100.200"));
when(tungstenSecurityGroupRuleDao.findBySecurityGroupAndRuleTypeAndRuleTarget(anyLong(), anyString(), anyString())).thenReturn(tungstenSecurityGroupRuleVO);
assertTrue(tungstenService.removeTungstenSecurityGroupRule(securityRule));
}
Reusable Method for MCI (click to expand)
private static SecurityRule createMockSecurityRule(SecurityRule.SecurityRuleType ruleType) {
SecurityRule securityRule = mock(SecurityRule.class);
when(securityRule.getRuleType()).thenReturn(ruleType);
return securityRule;
}
Test Case ID #cloudstack_Test_205_4
Test Case Name: removeTungstenSecurityGroupIngressRuleTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: securityRule
Suggested Diff
@@
public void removeTungstenSecurityGroupIngressRuleTest() {
- SecurityRule securityRule = mock(SecurityRule.class);
+ SecurityRule securityRule = createMockSecurityRule(SecurityRule.SecurityRuleType.IngressRule);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
- when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.IngressRule);
- when(securityRule.getType()).thenReturn("ingress");
+ when(securityRule.getType()).thenReturn("ingress");
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
- when(securityRule.getAllowedNetworkId()).thenReturn(null);
+ when(securityRule.getAllowedNetworkId()).thenReturn(null);
assertTrue(tungstenService.removeTungstenSecurityGroupRule(securityRule));
@@
Original Test Code (click to expand)
@Test
public void removeTungstenSecurityGroupIngressRuleTest() {
SecurityRule securityRule = mock(SecurityRule.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.IngressRule);
when(securityRule.getType()).thenReturn("ingress");
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(securityRule.getAllowedNetworkId()).thenReturn(null);
assertTrue(tungstenService.removeTungstenSecurityGroupRule(securityRule));
}
Reusable Method for MCI (click to expand)
private static SecurityRule createMockSecurityRule(SecurityRule.SecurityRuleType ruleType) {
SecurityRule securityRule = mock(SecurityRule.class);
when(securityRule.getRuleType()).thenReturn(ruleType);
return securityRule;
}
Mock Clone Instance #cloudstack_MCI_206
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.user.network.CreateNetworkCmd
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static CreateNetworkCmd createMockCreateNetworkCmd(String ip4Dns1Return) {
CreateNetworkCmd cmd = Mockito.mock(CreateNetworkCmd.class);
Mockito.when(cmd.getIp4Dns1()).thenReturn(ip4Dns1Return);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_206_1
Test Case Name: testCreateL2NetworkDnsFailure(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
registerCallContext();
- CreateNetworkCmd cmd = Mockito.mock(CreateNetworkCmd.class);
- prepareCreateNetworkDnsMocks(cmd, Network.GuestType.L2, false, false, true);
- Mockito.when(cmd.getIp4Dns1()).thenReturn(ip4Dns[0]);
+ CreateNetworkCmd cmd = createMockCreateNetworkCmd(ip4Dns[0]);
+ prepareCreateNetworkDnsMocks(cmd, Network.GuestType.L2, false, false, true);
try {
service.createGuestNetwork(cmd);
} catch (InsufficientCapacityException | ResourceAllocationException e) {
Assert.fail(String.format("failure with exception: %s", e.getMessage()));
}
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testCreateL2NetworkDnsFailure() {
registerCallContext();
CreateNetworkCmd cmd = Mockito.mock(CreateNetworkCmd.class);
prepareCreateNetworkDnsMocks(cmd, Network.GuestType.L2, false, false, true);
Mockito.when(cmd.getIp4Dns1()).thenReturn(ip4Dns[0]);
try {
service.createGuestNetwork(cmd);
} catch (InsufficientCapacityException | ResourceAllocationException e) {
Assert.fail(String.format("failure with exception: %s", e.getMessage()));
}
}
Reusable Method for MCI (click to expand)
private static CreateNetworkCmd createMockCreateNetworkCmd(String ip4Dns1Return) {
CreateNetworkCmd cmd = Mockito.mock(CreateNetworkCmd.class);
Mockito.when(cmd.getIp4Dns1()).thenReturn(ip4Dns1Return);
return cmd;
}
Test Case ID #cloudstack_Test_206_2
Test Case Name: testCreateNetworkDnsVpcFailure(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
registerCallContext();
- CreateNetworkCmd cmd = Mockito.mock(CreateNetworkCmd.class);
- prepareCreateNetworkDnsMocks(cmd, Network.GuestType.Isolated, false, false, true);
- Mockito.when(cmd.getIp4Dns1()).thenReturn(ip4Dns[0]);
+ CreateNetworkCmd cmd = createMockCreateNetworkCmd(ip4Dns[0]);
+ prepareCreateNetworkDnsMocks(cmd, Network.GuestType.Isolated, false, false, true);
try {
service.createGuestNetwork(cmd);
} catch (InsufficientCapacityException | ResourceAllocationException e) {
Assert.fail(String.format("failure with exception: %s", e.getMessage()));
}
}
Original Test Code (click to expand)
@Test
public void testCreateNetworkDnsVpcFailure() {
registerCallContext();
CreateNetworkCmd cmd = Mockito.mock(CreateNetworkCmd.class);
prepareCreateNetworkDnsMocks(cmd, Network.GuestType.Isolated, false, false, true);
Mockito.when(cmd.getIp4Dns1()).thenReturn(ip4Dns[0]);
try {
service.createGuestNetwork(cmd);
} catch (InsufficientCapacityException | ResourceAllocationException e) {
Assert.fail(String.format("failure with exception: %s", e.getMessage()));
}
}
Reusable Method for MCI (click to expand)
private static CreateNetworkCmd createMockCreateNetworkCmd(String ip4Dns1Return) {
CreateNetworkCmd cmd = Mockito.mock(CreateNetworkCmd.class);
Mockito.when(cmd.getIp4Dns1()).thenReturn(ip4Dns1Return);
return cmd;
}
Test Case ID #cloudstack_Test_206_3
Test Case Name: testCreateNetworkDnsOfferingServiceFailure(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
registerCallContext();
- CreateNetworkCmd cmd = Mockito.mock(CreateNetworkCmd.class);
- Mockito.when(cmd.getDomainId()).thenReturn(null);
+ CreateNetworkCmd cmd = createMockCreateNetworkCmd(ip4Dns[0]);
Mockito.when(cmd.getProjectId()).thenReturn(null);
prepareCreateNetworkDnsMocks(cmd, Network.GuestType.Isolated, false, false, false);
- Mockito.when(cmd.getIp4Dns1()).thenReturn(ip4Dns[0]);
try {
service.createGuestNetwork(cmd);
} catch (InsufficientCapacityException | ResourceAllocationException e) {
Assert.fail(String.format("failure with exception: %s", e.getMessage()));
}
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testCreateNetworkDnsOfferingServiceFailure() {
registerCallContext();
CreateNetworkCmd cmd = Mockito.mock(CreateNetworkCmd.class);
Mockito.when(cmd.getDomainId()).thenReturn(null);
Mockito.when(cmd.getProjectId()).thenReturn(null);
prepareCreateNetworkDnsMocks(cmd, Network.GuestType.Isolated, false, false, false);
Mockito.when(cmd.getIp4Dns1()).thenReturn(ip4Dns[0]);
try {
service.createGuestNetwork(cmd);
} catch (InsufficientCapacityException | ResourceAllocationException e) {
Assert.fail(String.format("failure with exception: %s", e.getMessage()));
}
}
Reusable Method for MCI (click to expand)
private static CreateNetworkCmd createMockCreateNetworkCmd(String ip4Dns1Return) {
CreateNetworkCmd cmd = Mockito.mock(CreateNetworkCmd.class);
Mockito.when(cmd.getIp4Dns1()).thenReturn(ip4Dns1Return);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_207
- Scope: method level
- Mocked Class:
org.apache.http.client.methods.CloseableHttpResponse
- Test Case Count: 9
- MO Count: 9
Reusable Method
private static CloseableHttpResponse createMockCloseableHttpResponse(StatusLine HTTP_200_STATUS_LINE) {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
return response;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_207_1
Test Case Name: testExecuteUpdateObject(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeUpdateObject(newObject, "/somepath");
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("PUT"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
@@
Original Test Code (click to expand)
@Test
public void testExecuteUpdateObject() throws Exception {
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeUpdateObject(newObject, "/somepath");
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("PUT"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(StatusLine HTTP_200_STATUS_LINE) {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
return response;
}
Test Case ID #cloudstack_Test_207_2
Test Case Name: testExecuteUpdateObjectWithParameters(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeUpdateObject(newObject, "/somepath", DEFAULT_TEST_PARAMETERS);
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("PUT"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
@@
Original Test Code (click to expand)
@Test
public void testExecuteUpdateObjectWithParameters() throws Exception {
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeUpdateObject(newObject, "/somepath", DEFAULT_TEST_PARAMETERS);
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("PUT"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(StatusLine HTTP_200_STATUS_LINE) {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
return response;
}
Test Case ID #cloudstack_Test_207_3
Test Case Name: testExecuteCreateObject(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
- when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(HTTP_200_STATUS_LINE);
+ when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeCreateObject(newObject, "/somepath");
assertThat(object, notNullValue());
assertThat(object, equalTo(newObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("POST"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(response).close();
@@
Original Test Code (click to expand)
@Test
public void testExecuteCreateObject() throws Exception {
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeCreateObject(newObject, "/somepath");
assertThat(object, notNullValue());
assertThat(object, equalTo(newObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("POST"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(response).close();
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(StatusLine HTTP_200_STATUS_LINE) {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
return response;
}
Test Case ID #cloudstack_Test_207_4
Test Case Name: testExecuteCreateObjectWithParameters(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
- when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(HTTP_200_STATUS_LINE);
+ when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeCreateObject(newObject, "/somepath", DEFAULT_TEST_PARAMETERS);
assertThat(object, notNullValue());
assertThat(object, equalTo(newObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("POST"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
verify(response).close();
@@
Original Test Code (click to expand)
@Test
public void testExecuteCreateObjectWithParameters() throws Exception {
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeCreateObject(newObject, "/somepath", DEFAULT_TEST_PARAMETERS);
assertThat(object, notNullValue());
assertThat(object, equalTo(newObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("POST"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
verify(response).close();
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(StatusLine HTTP_200_STATUS_LINE) {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
return response;
}
Test Case ID #cloudstack_Test_207_5
Test Case Name: testExecuteDeleteObject(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
final HttpEntity entity = mock(HttpEntity.class);
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getEntity()).thenReturn(entity);
- when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(HTTP_200_STATUS_LINE);
+ when(response.getEntity()).thenReturn(entity);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeDeleteObject("/somepath");
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("DELETE"), any(HttpClientContext.class));
verify(response).close();
@@
Original Test Code (click to expand)
@Test
public void testExecuteDeleteObject() throws Exception {
final HttpEntity entity = mock(HttpEntity.class);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(entity);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeDeleteObject("/somepath");
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("DELETE"), any(HttpClientContext.class));
verify(response).close();
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(StatusLine HTTP_200_STATUS_LINE) {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
return response;
}
Test Case ID #cloudstack_Test_207_6
Test Case Name: testExecuteRetrieveObject(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
final TestPojo existingObject = new TestPojo();
existingObject.setField("existingValue");
final String newObjectJson = gson.toJson(existingObject);
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
- when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(HTTP_200_STATUS_LINE);
+ when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeRetrieveObject(TestPojo.class, "/somepath");
assertThat(object, notNullValue());
assertThat(object, equalTo(existingObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(response).close();
@@
Original Test Code (click to expand)
@Test
public void testExecuteRetrieveObject() throws Exception {
final TestPojo existingObject = new TestPojo();
existingObject.setField("existingValue");
final String newObjectJson = gson.toJson(existingObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeRetrieveObject(TestPojo.class, "/somepath");
assertThat(object, notNullValue());
assertThat(object, equalTo(existingObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(response).close();
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(StatusLine HTTP_200_STATUS_LINE) {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
return response;
}
Test Case ID #cloudstack_Test_207_7
Test Case Name: testExecuteRetrieveObjectWithParameters(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
final TestPojo existingObject = new TestPojo();
existingObject.setField("existingValue");
final String newObjectJson = gson.toJson(existingObject);
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
- when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(HTTP_200_STATUS_LINE);
+ when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeRetrieveObject(TestPojo.class, "/somepath", DEFAULT_TEST_PARAMETERS);
assertThat(object, notNullValue());
assertThat(object, equalTo(existingObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
verify(response).close();
@@
Original Test Code (click to expand)
@Test
public void testExecuteRetrieveObjectWithParameters() throws Exception {
final TestPojo existingObject = new TestPojo();
existingObject.setField("existingValue");
final String newObjectJson = gson.toJson(existingObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeRetrieveObject(TestPojo.class, "/somepath", DEFAULT_TEST_PARAMETERS);
assertThat(object, notNullValue());
assertThat(object, equalTo(existingObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
verify(response).close();
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(StatusLine HTTP_200_STATUS_LINE) {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
return response;
}
Test Case ID #cloudstack_Test_207_8
Test Case Name: testCustomDeserializerTypeMismatch(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
@Test(expected = JsonParseException.class)
public void testCustomDeserializerTypeMismatch() throws Exception {
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(HTTP_200_STATUS_LINE);
when(response.getEntity()).thenReturn(new StringEntity("[{somethig_not_type : \"WrongType\"}]"));
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).classToDeserializerEntry(TestPojo.class, new TestPojoDeserializer()).build();
connector.executeRetrieveObject(TestPojo.class, "/somepath");
}
@@
Original Test Code (click to expand)
@Test(expected = JsonParseException.class)
public void testCustomDeserializerTypeMismatch() throws Exception {
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
when(response.getEntity()).thenReturn(new StringEntity("[{somethig_not_type : \"WrongType\"}]"));
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).classToDeserializerEntry(TestPojo.class, new TestPojoDeserializer()).build();
connector.executeRetrieveObject(TestPojo.class, "/somepath");
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(StatusLine HTTP_200_STATUS_LINE) {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
return response;
}
Test Case ID #cloudstack_Test_207_9
Test Case Name: testCustomDeserializerForCustomLists(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(HTTP_200_STATUS_LINE);
when(response.getEntity()).thenReturn(new StringEntity("{results: [{field : \"SomeValue\"}], results_count: 1}"));
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
@@
Original Test Code (click to expand)
@Test
public void testCustomDeserializerForCustomLists() throws Exception {
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
when(response.getEntity()).thenReturn(new StringEntity("{results: [{field : \"SomeValue\"}], results_count: 1}"));
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final Class<? extends CollectionType> clazzListOfTestPojo = new ObjectMapper().getTypeFactory().constructCollectionType(List.class, TestPojo.class).getClass();
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).classToDeserializerEntry(clazzListOfTestPojo, new CustomListDeserializer<TestPojoDeserializer>()).build();
connector.executeRetrieveObject(TestPojo.class, "/somepath");
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(StatusLine HTTP_200_STATUS_LINE) {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
return response;
}
Mock Clone Instance #cloudstack_MCI_208
- Scope: class level
- Mocked Class:
org.apache.http.client.methods.CloseableHttpResponse
- Test Case Count: 10
- MO Count: 10
Reusable Method
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_208_1
Test Case Name: getSnhItfReqTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Mock Object Variable Name: closeableHttpResponse
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
+ CloseableHttpResponse closeableHttpResponse = MockCloseableHttpResponse.createMockCloseableHttpResponse(httpEntity);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
- when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenReturn(document);
assertEquals(document, introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
@@
Original Test Code (click to expand)
@Test
public void getSnhItfReqTest() throws Exception {
Document document = mock(Document.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenReturn(document);
assertEquals(document, introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
Test Case ID #cloudstack_Test_208_2
Test Case Name: getSnhItfReqWithParserConfigurationExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Mock Object Variable Name: closeableHttpResponse
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
+ CloseableHttpResponse closeableHttpResponse = MockCloseableHttpResponse.createMockCloseableHttpResponse(httpEntity);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
- when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenThrow(ParserConfigurationException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
@@
Original Test Code (click to expand)
@Test
public void getSnhItfReqWithParserConfigurationExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenThrow(ParserConfigurationException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
Test Case ID #cloudstack_Test_208_3
Test Case Name: getSnhItfReqWithSAXExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Mock Object Variable Name: closeableHttpResponse
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
+ CloseableHttpResponse closeableHttpResponse = MockCloseableHttpResponse.createMockCloseableHttpResponse(httpEntity);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
- when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenThrow(SAXException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
@@
Original Test Code (click to expand)
@Test
public void getSnhItfReqWithSAXExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenThrow(SAXException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
Test Case ID #cloudstack_Test_208_4
Test Case Name: addPortTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: closeableHttpResponse
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
+ CloseableHttpResponse closeableHttpResponse = MockCloseableHttpResponse.createMockCloseableHttpResponse(httpEntity);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
- when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.addPort(port));
}
Original Test Code (click to expand)
@Test
public void addPortTest() throws Exception {
Port port = mock(Port.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.addPort(port));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
Test Case ID #cloudstack_Test_208_5
Test Case Name: addPortWithFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: closeableHttpResponse
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
+ CloseableHttpResponse closeableHttpResponse = MockCloseableHttpResponse.createMockCloseableHttpResponse(httpEntity);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
- when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{error:404}");
assertFalse(vRouterApiConnector.addPort(port));
}
Original Test Code (click to expand)
@Test
public void addPortWithFailTest() throws Exception {
Port port = mock(Port.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{error:404}");
assertFalse(vRouterApiConnector.addPort(port));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
Test Case ID #cloudstack_Test_208_6
Test Case Name: deletePortTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: closeableHttpResponse
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
+ CloseableHttpResponse closeableHttpResponse = MockCloseableHttpResponse.createMockCloseableHttpResponse(httpEntity);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
- when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.deletePort("948f421c-edde-4518-a391-09299cc25dc2"));
@@
Original Test Code (click to expand)
@Test
public void deletePortTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.deletePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
Test Case ID #cloudstack_Test_208_7
Test Case Name: enablePortTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: closeableHttpResponse
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
+ CloseableHttpResponse closeableHttpResponse = MockCloseableHttpResponse.createMockCloseableHttpResponse(httpEntity);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
- when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.enablePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
@@
Original Test Code (click to expand)
@Test
public void enablePortTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.enablePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
Test Case ID #cloudstack_Test_208_8
Test Case Name: disablePortTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: closeableHttpResponse
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
+ CloseableHttpResponse closeableHttpResponse = MockCloseableHttpResponse.createMockCloseableHttpResponse(httpEntity);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
- when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.disablePort("948f421c-edde-4518-a391-09299cc25dc2"));
@@
Original Test Code (click to expand)
@Test
public void disablePortTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.disablePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
Test Case ID #cloudstack_Test_208_9
Test Case Name: addGatewayTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: closeableHttpResponse
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
+ CloseableHttpResponse closeableHttpResponse = MockCloseableHttpResponse.createMockCloseableHttpResponse(httpEntity);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
- when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.addGateway(Arrays.asList(gateway1, gateway2)));
@@
Original Test Code (click to expand)
@Test
public void addGatewayTest() throws Exception {
Gateway gateway1 = mock(Gateway.class);
Gateway gateway2 = mock(Gateway.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.addGateway(Arrays.asList(gateway1, gateway2)));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
Test Case ID #cloudstack_Test_208_10
Test Case Name: deleteGatewayTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: closeableHttpResponse
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
+ CloseableHttpResponse closeableHttpResponse = MockCloseableHttpResponse.createMockCloseableHttpResponse(httpEntity);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
- when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.deleteGateway(Arrays.asList(gateway1, gateway2)));
@@
Original Test Code (click to expand)
@Test
public void deleteGatewayTest() throws Exception {
Gateway gateway1 = mock(Gateway.class);
Gateway gateway2 = mock(Gateway.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.deleteGateway(Arrays.asList(gateway1, gateway2)));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpResponse {
public static CloseableHttpResponse createMockCloseableHttpResponse(HttpEntity httpEntity) {
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
return closeableHttpResponse;
}
}
Mock Clone Instance #cloudstack_MCI_209
- Scope: method level
- Mocked Class:
org.apache.http.client.methods.CloseableHttpResponse
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static CloseableHttpResponse createMockCloseableHttpResponse() throws Exception {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_JSON_RESPONSE));
when(response.getStatusLine()).thenReturn(HTTP_201_REPSONSE);
return response;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_209_1
Test Case Name: testCreateSecurityProfile(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\nicira\NiciraNvpApiTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
public void testCreateSecurityProfile() throws Exception {
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getStatusLine()).thenReturn(HTTP_201_REPSONSE);
- when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_JSON_RESPONSE));
+ final CloseableHttpResponse response = createMockCloseableHttpResponse();
final CloseableHttpClient httpClient = spy(HttpClientHelper.createHttpClient(2));
doReturn(response).when(httpClient).execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class));
final NiciraNvpApi api = buildApi(httpClient);
final SecurityProfile actualSecProfile = api.createSecurityProfile(new SecurityProfile());
assertThat("Wrong Uuid in the newly created SecurityProfile", actualSecProfile, hasProperty("uuid", equalTo(UUID)));
assertThat("Wrong Href in the newly created SecurityProfile", actualSecProfile, hasProperty("href", equalTo(HREF)));
assertThat("Wrong Schema in the newly created SecurityProfile", actualSecProfile, hasProperty("schema", equalTo(SCHEMA)));
verify(response, times(1)).close();
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("POST"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPathMatcher.aPath(NiciraConstants.SEC_PROFILE_URI_PREFIX), any(HttpClientContext.class));
@@
Original Test Code (click to expand)
@Test
public void testCreateSecurityProfile() throws Exception {
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_201_REPSONSE);
when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_JSON_RESPONSE));
final CloseableHttpClient httpClient = spy(HttpClientHelper.createHttpClient(2));
doReturn(response).when(httpClient).execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class));
final NiciraNvpApi api = buildApi(httpClient);
final SecurityProfile actualSecProfile = api.createSecurityProfile(new SecurityProfile());
assertThat("Wrong Uuid in the newly created SecurityProfile", actualSecProfile, hasProperty("uuid", equalTo(UUID)));
assertThat("Wrong Href in the newly created SecurityProfile", actualSecProfile, hasProperty("href", equalTo(HREF)));
assertThat("Wrong Schema in the newly created SecurityProfile", actualSecProfile, hasProperty("schema", equalTo(SCHEMA)));
verify(response, times(1)).close();
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("POST"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPathMatcher.aPath(NiciraConstants.SEC_PROFILE_URI_PREFIX), any(HttpClientContext.class));
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse() throws Exception {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_JSON_RESPONSE));
when(response.getStatusLine()).thenReturn(HTTP_201_REPSONSE);
return response;
}
Test Case ID #cloudstack_Test_209_2
Test Case Name: testUpdateSecurityProfile(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\nicira\NiciraNvpApiTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
@Test
public void testUpdateSecurityProfile() throws Exception {
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getStatusLine()).thenReturn(HTTP_201_REPSONSE);
- when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_JSON_RESPONSE));
+ final CloseableHttpResponse response = createMockCloseableHttpResponse();
final CloseableHttpClient httpClient = spy(HttpClientHelper.createHttpClient(2));
doReturn(response).when(httpClient).execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class));
final NiciraNvpApi api = buildApi(httpClient);
api.updateSecurityProfile(new SecurityProfile(), UUID);
verify(response, times(1)).close();
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("PUT"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPathMatcher.aPath(NiciraConstants.SEC_PROFILE_URI_PREFIX + "/" + UUID), any(HttpClientContext.class));
}
Original Test Code (click to expand)
@Test
public void testUpdateSecurityProfile() throws Exception {
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_201_REPSONSE);
when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_JSON_RESPONSE));
final CloseableHttpClient httpClient = spy(HttpClientHelper.createHttpClient(2));
doReturn(response).when(httpClient).execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class));
final NiciraNvpApi api = buildApi(httpClient);
api.updateSecurityProfile(new SecurityProfile(), UUID);
verify(response, times(1)).close();
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("PUT"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPathMatcher.aPath(NiciraConstants.SEC_PROFILE_URI_PREFIX + "/" + UUID), any(HttpClientContext.class));
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse() throws Exception {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_JSON_RESPONSE));
when(response.getStatusLine()).thenReturn(HTTP_201_REPSONSE);
return response;
}
Test Case ID #cloudstack_Test_209_3
Test Case Name: testDeleteSecurityProfile(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\nicira\NiciraNvpApiTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
@Test
public void testDeleteSecurityProfile() throws Exception {
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getStatusLine()).thenReturn(HTTP_201_REPSONSE);
- when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_JSON_RESPONSE));
+ final CloseableHttpResponse response = createMockCloseableHttpResponse();
final CloseableHttpClient httpClient = spy(HttpClientHelper.createHttpClient(2));
doReturn(response).when(httpClient).execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class));
final NiciraNvpApi api = buildApi(httpClient);
api.deleteSecurityProfile(UUID);
verify(response, times(1)).close();
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("DELETE"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPathMatcher.aPath(NiciraConstants.SEC_PROFILE_URI_PREFIX + "/" + UUID), any(HttpClientContext.class));
}
@@
Original Test Code (click to expand)
@Test
public void testDeleteSecurityProfile() throws Exception {
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_201_REPSONSE);
when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_JSON_RESPONSE));
final CloseableHttpClient httpClient = spy(HttpClientHelper.createHttpClient(2));
doReturn(response).when(httpClient).execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class));
final NiciraNvpApi api = buildApi(httpClient);
api.deleteSecurityProfile(UUID);
verify(response, times(1)).close();
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("DELETE"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPathMatcher.aPath(NiciraConstants.SEC_PROFILE_URI_PREFIX + "/" + UUID), any(HttpClientContext.class));
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse() throws Exception {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_JSON_RESPONSE));
when(response.getStatusLine()).thenReturn(HTTP_201_REPSONSE);
return response;
}
Mock Clone Instance #cloudstack_MCI_210
- Scope: method level
- Mocked Class:
org.apache.http.client.methods.CloseableHttpResponse
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static CloseableHttpResponse createMockCloseableHttpResponse(String secProfileListJsonResponse, StatusLine http200Response) throws UnsupportedEncodingException {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(secProfileListJsonResponse));
when(response.getStatusLine()).thenReturn(http200Response);
return response;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_210_1
Test Case Name: testFindSecurityProfile(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\nicira\NiciraNvpApiTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
@Test
@SuppressWarnings("unchecked")
public void testFindSecurityProfile() throws Exception {
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getStatusLine()).thenReturn(HTTP_200_REPSONSE);
- when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_LIST_JSON_RESPONSE));
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(SEC_PROFILE_LIST_JSON_RESPONSE, HTTP_200_REPSONSE);
final CloseableHttpClient httpClient = spy(HttpClientHelper.createHttpClient(2));
doReturn(response).when(httpClient).execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class));
final NiciraNvpApi api = buildApi(httpClient);
final List<SecurityProfile> actualProfiles = api.findSecurityProfile();
assertThat("Wrong number of results", actualProfiles, hasSize(2));
assertThat("Wrong Uuid in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("uuid", equalTo(UUID)), hasProperty("uuid", equalTo(UUID2))));
assertThat("Wrong HREF in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("href", equalTo(HREF)), hasProperty("href", equalTo(HREF2))));
assertThat("Wrong Schema in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("schema", equalTo(SCHEMA)), hasProperty("schema", equalTo(SCHEMA2))));
verify(response, times(1)).close();
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQuery("fields=*"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPathMatcher.aPath(NiciraConstants.SEC_PROFILE_URI_PREFIX), any(HttpClientContext.class));
}
@@
Original Test Code (click to expand)
@Test
@SuppressWarnings("unchecked")
public void testFindSecurityProfile() throws Exception {
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_REPSONSE);
when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_LIST_JSON_RESPONSE));
final CloseableHttpClient httpClient = spy(HttpClientHelper.createHttpClient(2));
doReturn(response).when(httpClient).execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class));
final NiciraNvpApi api = buildApi(httpClient);
final List<SecurityProfile> actualProfiles = api.findSecurityProfile();
assertThat("Wrong number of results", actualProfiles, hasSize(2));
assertThat("Wrong Uuid in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("uuid", equalTo(UUID)), hasProperty("uuid", equalTo(UUID2))));
assertThat("Wrong HREF in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("href", equalTo(HREF)), hasProperty("href", equalTo(HREF2))));
assertThat("Wrong Schema in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("schema", equalTo(SCHEMA)), hasProperty("schema", equalTo(SCHEMA2))));
verify(response, times(1)).close();
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQuery("fields=*"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPathMatcher.aPath(NiciraConstants.SEC_PROFILE_URI_PREFIX), any(HttpClientContext.class));
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(String secProfileListJsonResponse, StatusLine http200Response) throws UnsupportedEncodingException {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(secProfileListJsonResponse));
when(response.getStatusLine()).thenReturn(http200Response);
return response;
}
Test Case ID #cloudstack_Test_210_2
Test Case Name: testFindSecurityProfileByUuid(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\nicira\NiciraNvpApiTest.java)
Mock Object Variable Name: response
Suggested Diff
@@
public void testFindSecurityProfileByUuid() throws Exception {
- final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
- when(response.getStatusLine()).thenReturn(HTTP_200_REPSONSE);
- when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_LIST_JSON_RESPONSE));
+ final CloseableHttpResponse response = createMockCloseableHttpResponse(SEC_PROFILE_LIST_JSON_RESPONSE, HTTP_200_REPSONSE);
final CloseableHttpClient httpClient = spy(HttpClientHelper.createHttpClient(2));
doReturn(response).when(httpClient).execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class));
final NiciraNvpApi api = buildApi(httpClient);
final List<SecurityProfile> actualProfiles = api.findSecurityProfile(UUID);
assertThat("Wrong number of results", actualProfiles, hasSize(2));
assertThat("Wrong Uuid in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("uuid", equalTo(UUID)), hasProperty("uuid", equalTo(UUID2))));
assertThat("Wrong HREF in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("href", equalTo(HREF)), hasProperty("href", equalTo(HREF2))));
assertThat("Wrong Schema in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("schema", equalTo(SCHEMA)), hasProperty("schema", equalTo(SCHEMA2))));
verify(response, times(1)).close();
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("uuid=" + UUID), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("fields=*"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPathMatcher.aPath(NiciraConstants.SEC_PROFILE_URI_PREFIX), any(HttpClientContext.class));
}
Original Test Code (click to expand)
@Test
@SuppressWarnings("unchecked")
public void testFindSecurityProfileByUuid() throws Exception {
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_REPSONSE);
when(response.getEntity()).thenReturn(new StringEntity(SEC_PROFILE_LIST_JSON_RESPONSE));
final CloseableHttpClient httpClient = spy(HttpClientHelper.createHttpClient(2));
doReturn(response).when(httpClient).execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class));
final NiciraNvpApi api = buildApi(httpClient);
final List<SecurityProfile> actualProfiles = api.findSecurityProfile(UUID);
assertThat("Wrong number of results", actualProfiles, hasSize(2));
assertThat("Wrong Uuid in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("uuid", equalTo(UUID)), hasProperty("uuid", equalTo(UUID2))));
assertThat("Wrong HREF in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("href", equalTo(HREF)), hasProperty("href", equalTo(HREF2))));
assertThat("Wrong Schema in the newly created SecurityProfile", actualProfiles, Matchers.<SecurityProfile>contains(hasProperty("schema", equalTo(SCHEMA)), hasProperty("schema", equalTo(SCHEMA2))));
verify(response, times(1)).close();
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("uuid=" + UUID), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("fields=*"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPathMatcher.aPath(NiciraConstants.SEC_PROFILE_URI_PREFIX), any(HttpClientContext.class));
}
Reusable Method for MCI (click to expand)
private static CloseableHttpResponse createMockCloseableHttpResponse(String secProfileListJsonResponse, StatusLine http200Response) throws UnsupportedEncodingException {
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(secProfileListJsonResponse));
when(response.getStatusLine()).thenReturn(http200Response);
return response;
}
Mock Clone Instance #cloudstack_MCI_211
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.admin.vm.ListUnmanagedInstancesCmd
- Test Case Count: 3
- MO Count: 3
Reusable Method
private ListUnmanagedInstancesCmd cmd;
@BeforeEach
public void setUp() {
cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);
}
cmd;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_211_1
Test Case Name: listUnmanagedInstancesTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\vm\UnmanagedVMsManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
@Test
public void listUnmanagedInstancesTest() {
- ListUnmanagedInstancesCmd cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);
+ // removed local mock; replaced with global field `cmd`
unmanagedVMsManager.listUnmanagedInstances(cmd);
}
Original Test Code (click to expand)
@Test
public void listUnmanagedInstancesTest() {
ListUnmanagedInstancesCmd cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);
unmanagedVMsManager.listUnmanagedInstances(cmd);
}
Reusable Method for MCI (click to expand)
private ListUnmanagedInstancesCmd cmd;
@BeforeEach
public void setUp() {
cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);
}
cmd;
Test Case ID #cloudstack_Test_211_2
Test Case Name: listUnmanagedInstancesInvalidHypervisorTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\vm\UnmanagedVMsManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
@Test(expected = InvalidParameterValueException.class)
public void listUnmanagedInstancesInvalidHypervisorTest() {
- ListUnmanagedInstancesCmd cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);
+ // removed local mock; replaced with global field `cmd`
ClusterVO cluster = new ClusterVO(1, 1, "Cluster");
cluster.setHypervisorType(Hypervisor.HypervisorType.KVM.toString());
when(clusterDao.findById(Mockito.anyLong())).thenReturn(cluster);
unmanagedVMsManager.listUnmanagedInstances(cmd);
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void listUnmanagedInstancesInvalidHypervisorTest() {
ListUnmanagedInstancesCmd cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);
ClusterVO cluster = new ClusterVO(1, 1, "Cluster");
cluster.setHypervisorType(Hypervisor.HypervisorType.KVM.toString());
when(clusterDao.findById(Mockito.anyLong())).thenReturn(cluster);
unmanagedVMsManager.listUnmanagedInstances(cmd);
}
Reusable Method for MCI (click to expand)
private ListUnmanagedInstancesCmd cmd;
@BeforeEach
public void setUp() {
cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);
}
cmd;
Test Case ID #cloudstack_Test_211_3
Test Case Name: listUnmanagedInstancesInvalidCallerTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\org\apache\cloudstack\vm\UnmanagedVMsManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
@Test(expected = PermissionDeniedException.class)
public void listUnmanagedInstancesInvalidCallerTest() {
CallContext.unregister();
AccountVO account = new AccountVO("user", 1L, "", Account.Type.NORMAL, "uuid");
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
CallContext.register(user, account);
- ListUnmanagedInstancesCmd cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);
+ // removed local mock; replaced with global field `cmd`
unmanagedVMsManager.listUnmanagedInstances(cmd);
}
Original Test Code (click to expand)
@Test(expected = PermissionDeniedException.class)
public void listUnmanagedInstancesInvalidCallerTest() {
CallContext.unregister();
AccountVO account = new AccountVO("user", 1L, "", Account.Type.NORMAL, "uuid");
UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
CallContext.register(user, account);
ListUnmanagedInstancesCmd cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);
unmanagedVMsManager.listUnmanagedInstances(cmd);
}
Reusable Method for MCI (click to expand)
private ListUnmanagedInstancesCmd cmd;
@BeforeEach
public void setUp() {
cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);
}
cmd;
Mock Clone Instance #cloudstack_MCI_212
- Scope: method level
- Mocked Class:
com.cloud.dc.DataCenter
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static DataCenter createMockDataCenter() {
DataCenter dataCenter = mock(DataCenter.class);
when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
return dataCenter;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_212_1
Test Case Name: addTungstenNicSecondaryIpAddressTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenter
Suggested Diff
@@
Network network = mock(Network.class);
- DataCenter dataCenter = mock(DataCenter.class);
+ DataCenter dataCenter = createMockDataCenter();
Nic nic = mock(Nic.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
SecurityGroupRuleVO securityGroupRuleVO = mock(SecurityGroupRuleVO.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer addTungstenSecondaryIpAddressAnswer = mock(TungstenAnswer.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(entityMgr.findById(eq(NicSecondaryIp.class), anyLong())).thenReturn(nicSecondaryIp);
when(entityMgr.findById(eq(Network.class), anyLong())).thenReturn(network);
when(entityMgr.findById(eq(DataCenter.class), anyLong())).thenReturn(dataCenter);
when(entityMgr.findById(eq(Nic.class), anyLong())).thenReturn(nic);
when(nicSecondaryIp.getIp4Address()).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecondaryIpAddressCommand.class), anyLong())).thenReturn(addTungstenSecondaryIpAddressAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(addTungstenSecondaryIpAddressAnswer.getResult()).thenReturn(true);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
- when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(securityGroupManager.getSecurityGroupsForVm(anyLong())).thenReturn(List.of(securityGroupVO));
when(securityGroupRuleDao.listByAllowedSecurityGroupId(anyLong())).thenReturn(List.of(securityGroupRuleVO));
when(tungstenSecurityGroupRuleDao.persist(any(TungstenSecurityGroupRuleVO.class))).thenReturn(tungstenSecurityGroupRuleVO);
when(securityGroupRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
assertTrue(tungstenService.addTungstenNicSecondaryIpAddress(1L));
@@
Original Test Code (click to expand)
@Test
public void addTungstenNicSecondaryIpAddressTest() {
NicSecondaryIp nicSecondaryIp = mock(NicSecondaryIp.class);
Network network = mock(Network.class);
DataCenter dataCenter = mock(DataCenter.class);
Nic nic = mock(Nic.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
SecurityGroupRuleVO securityGroupRuleVO = mock(SecurityGroupRuleVO.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
TungstenAnswer addTungstenSecondaryIpAddressAnswer = mock(TungstenAnswer.class);
TungstenAnswer addTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(entityMgr.findById(eq(NicSecondaryIp.class), anyLong())).thenReturn(nicSecondaryIp);
when(entityMgr.findById(eq(Network.class), anyLong())).thenReturn(network);
when(entityMgr.findById(eq(DataCenter.class), anyLong())).thenReturn(dataCenter);
when(entityMgr.findById(eq(Nic.class), anyLong())).thenReturn(nic);
when(nicSecondaryIp.getIp4Address()).thenReturn("192.168.100.100");
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecondaryIpAddressCommand.class), anyLong())).thenReturn(addTungstenSecondaryIpAddressAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
when(addTungstenSecondaryIpAddressAnswer.getResult()).thenReturn(true);
when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(securityGroupManager.getSecurityGroupsForVm(anyLong())).thenReturn(List.of(securityGroupVO));
when(securityGroupRuleDao.listByAllowedSecurityGroupId(anyLong())).thenReturn(List.of(securityGroupRuleVO));
when(tungstenSecurityGroupRuleDao.persist(any(TungstenSecurityGroupRuleVO.class))).thenReturn(tungstenSecurityGroupRuleVO);
when(securityGroupRuleVO.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
assertTrue(tungstenService.addTungstenNicSecondaryIpAddress(1L));
}
Reusable Method for MCI (click to expand)
private static DataCenter createMockDataCenter() {
DataCenter dataCenter = mock(DataCenter.class);
when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
return dataCenter;
}
Test Case ID #cloudstack_Test_212_2
Test Case Name: removeTungstenNicSecondaryIpAddressTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\service\TungstenServiceImplTest.java)
Mock Object Variable Name: dataCenter
Suggested Diff
@@
NicSecondaryIpVO nicSecondaryIpVO = mock(NicSecondaryIpVO.class);
Network network = mock(Network.class);
- DataCenter dataCenter = mock(DataCenter.class);
+ DataCenter dataCenter = createMockDataCenter();
TungstenAnswer removeTungstenSecondaryIpAddressAnswer = mock(TungstenAnswer.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(entityMgr.findById(eq(Network.class), anyLong())).thenReturn(network);
when(entityMgr.findById(eq(DataCenter.class), anyLong())).thenReturn(dataCenter);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecondaryIpAddressCommand.class), anyLong())).thenReturn(removeTungstenSecondaryIpAddressAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(removeTungstenSecondaryIpAddressAnswer.getResult()).thenReturn(true);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
- when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(tungstenSecurityGroupRuleDao.listByRuleTarget(anyString())).thenReturn(List.of(tungstenSecurityGroupRuleVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
when(tungstenSecurityGroupRuleDao.expunge(anyLong())).thenReturn(true);
when(nicSecondaryIpVO.getIp4Address()).thenReturn("192.168.100.100");
assertTrue(tungstenService.removeTungstenNicSecondaryIpAddress(nicSecondaryIpVO));
@@
Original Test Code (click to expand)
@Test
public void removeTungstenNicSecondaryIpAddressTest() {
NicSecondaryIpVO nicSecondaryIpVO = mock(NicSecondaryIpVO.class);
Network network = mock(Network.class);
DataCenter dataCenter = mock(DataCenter.class);
TungstenAnswer removeTungstenSecondaryIpAddressAnswer = mock(TungstenAnswer.class);
TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = mock(TungstenSecurityGroupRuleVO.class);
SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
TungstenAnswer removeTungstenSecurityGroupRuleAnswer = mock(TungstenAnswer.class);
when(entityMgr.findById(eq(Network.class), anyLong())).thenReturn(network);
when(entityMgr.findById(eq(DataCenter.class), anyLong())).thenReturn(dataCenter);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecondaryIpAddressCommand.class), anyLong())).thenReturn(removeTungstenSecondaryIpAddressAnswer);
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class), anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
when(removeTungstenSecondaryIpAddressAnswer.getResult()).thenReturn(true);
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
when(tungstenSecurityGroupRuleDao.listByRuleTarget(anyString())).thenReturn(List.of(tungstenSecurityGroupRuleVO));
when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
when(tungstenSecurityGroupRuleDao.expunge(anyLong())).thenReturn(true);
when(nicSecondaryIpVO.getIp4Address()).thenReturn("192.168.100.100");
assertTrue(tungstenService.removeTungstenNicSecondaryIpAddress(nicSecondaryIpVO));
}
Reusable Method for MCI (click to expand)
private static DataCenter createMockDataCenter() {
DataCenter dataCenter = mock(DataCenter.class);
when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
return dataCenter;
}
Mock Clone Instance #cloudstack_MCI_213
- Scope: method level
- Mocked Class:
com.cloud.dc.DataCenter
- Test Case Count: 3
- MO Count: 3
Reusable Method
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = mock(DataCenter.class);
}
dc;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_213_1
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
DeployDestination dest = mock(DeployDestination.class);
- DataCenter dc = mock(DataCenter.class);
+ // removed local mock; replaced with global field `dc`
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
//TODO(VXLAN): doesn't support VNI specified
//when(confsvr.getConfigValue((String) any(), (String) any(), anyLong())).thenReturn("true");
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
}
Reusable Method for MCI (click to expand)
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = mock(DataCenter.class);
}
dc;
Test Case ID #cloudstack_Test_213_2
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
DeployDestination dest = mock(DeployDestination.class);
- DataCenter dc = mock(DataCenter.class);
+ // removed local mock; replaced with global field `dc`
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
//TODO(VXLAN): doesn't support VNI specified
//when(confsvr.getConfigValue((String) any(), (String) any(), anyLong())).thenReturn("true");
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
}
Reusable Method for MCI (click to expand)
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = mock(DataCenter.class);
}
dc;
Test Case ID #cloudstack_Test_213_3
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
DeployDestination dest = mock(DeployDestination.class);
- DataCenter dc = mock(DataCenter.class);
+ // removed local mock; replaced with global field `dc`
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
Domain dom = mock(Domain.class);
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vxlan);
when(network.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(network.getPhysicalNetworkId()).thenReturn(42L);
when(netdao.findById(42L)).thenReturn(network);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(42L);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = mock(DataCenter.class);
}
dc;
Mock Clone Instance #cloudstack_MCI_214
- Scope: method level
- Mocked Class:
com.cloud.dc.DataCenter
- Test Case Count: 4
- MO Count: 4
Reusable Method
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = mock(DataCenter.class);
}
dc
The refactoring details in each test cases
Test Case ID #cloudstack_Test_214_1
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
final DeployDestination dest = mock(DeployDestination.class);
- final DataCenter dc = mock(DataCenter.class);
+ // removed local mock; replaced with global field `dc`
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = mock(DataCenter.class);
}
dc
Test Case ID #cloudstack_Test_214_2
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
final DeployDestination dest = mock(DeployDestination.class);
- final DataCenter dc = mock(DataCenter.class);
+ // removed local mock; replaced with global field `dc`
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = mock(DataCenter.class);
}
dc
Test Case ID #cloudstack_Test_214_3
Test Case Name: testImplementURIException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
final DeployDestination dest = mock(DeployDestination.class);
- final DataCenter dc = mock(DataCenter.class);
+ // removed local mock; replaced with global field `dc`
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
Original Test Code (click to expand)
@Test
public void testImplementURIException() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = mock(DataCenter.class);
}
dc
Test Case ID #cloudstack_Test_214_4
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
final DeployDestination dest = mock(DeployDestination.class);
- final DataCenter dc = mock(DataCenter.class);
+ // removed local mock; replaced with global field `dc`
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(netdao.findById(NETWORK_ID)).thenReturn(network);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final DeleteLogicalSwitchAnswer answer = mock(DeleteLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(NETWORK_ID);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("lswitch:aaaa"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = mock(DataCenter.class);
}
dc
Mock Clone Instance #cloudstack_MCI_215
- Scope: method level
- Mocked Class:
com.cloud.dc.DataCenter
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static DataCenter createMockDataCenter(long idReturn) {
DataCenter dc = Mockito.mock(DataCenter.class);
Mockito.when(dc.getId()).thenReturn(idReturn);
return dc;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_215_1
Test Case Name: avoidDisabledDataCentersTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
public void avoidDisabledDataCentersTest() {
- DataCenter dc = Mockito.mock(DataCenter.class);
- Mockito.when(dc.getId()).thenReturn(123l);
+ DataCenter dc = createMockDataCenter(123l);
ExcludeList avoids = new ExcludeList();
AllocationState[] allocationStates = AllocationState.values();
for (int i = 0; i < allocationStates.length - 1; ++i) {
Mockito.when(dc.getAllocationState()).thenReturn(allocationStates[i]);
_dpm.avoidDisabledDataCenters(dc, avoids);
if (allocationStates[i] == AllocationState.Disabled) {
assertAvoidIsEmpty(avoids, false, true, true, true);
Assert.assertTrue(avoids.getDataCentersToAvoid().size() == 1);
Assert.assertTrue(avoids.getDataCentersToAvoid().contains(dc.getId()));
} else {
assertAvoidIsEmpty(avoids, true, true, true, true);
}
}
}
Original Test Code (click to expand)
@Test
public void avoidDisabledDataCentersTest() {
DataCenter dc = Mockito.mock(DataCenter.class);
Mockito.when(dc.getId()).thenReturn(123l);
ExcludeList avoids = new ExcludeList();
AllocationState[] allocationStates = AllocationState.values();
for (int i = 0; i < allocationStates.length - 1; ++i) {
Mockito.when(dc.getAllocationState()).thenReturn(allocationStates[i]);
_dpm.avoidDisabledDataCenters(dc, avoids);
if (allocationStates[i] == AllocationState.Disabled) {
assertAvoidIsEmpty(avoids, false, true, true, true);
Assert.assertTrue(avoids.getDataCentersToAvoid().size() == 1);
Assert.assertTrue(avoids.getDataCentersToAvoid().contains(dc.getId()));
} else {
assertAvoidIsEmpty(avoids, true, true, true, true);
}
}
}
Reusable Method for MCI (click to expand)
private static DataCenter createMockDataCenter(long idReturn) {
DataCenter dc = Mockito.mock(DataCenter.class);
Mockito.when(dc.getId()).thenReturn(idReturn);
return dc;
}
Test Case ID #cloudstack_Test_215_2
Test Case Name: prepareAvoidDisabledTests(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
private DataCenter prepareAvoidDisabledTests() {
- DataCenter dc = Mockito.mock(DataCenter.class);
- Mockito.when(dc.getId()).thenReturn(123l);
+ DataCenter dc = createMockDataCenter(123l);
List<Long> podIds = new ArrayList<>();
podIds.add(1l);
Mockito.doReturn(podIds).when(hostPodDao).listAllPods(Mockito.anyLong());
return dc;
}
Original Test Code (click to expand)
private DataCenter prepareAvoidDisabledTests() {
DataCenter dc = Mockito.mock(DataCenter.class);
Mockito.when(dc.getId()).thenReturn(123l);
List<Long> podIds = new ArrayList<>();
podIds.add(1l);
Mockito.doReturn(podIds).when(hostPodDao).listAllPods(Mockito.anyLong());
return dc;
}
Reusable Method for MCI (click to expand)
private static DataCenter createMockDataCenter(long idReturn) {
DataCenter dc = Mockito.mock(DataCenter.class);
Mockito.when(dc.getId()).thenReturn(idReturn);
return dc;
}
Mock Clone Instance #cloudstack_MCI_216
- Scope: method level
- Mocked Class:
com.cloud.dc.DataCenter
- Test Case Count: 3
- MO Count: 3
Reusable Method
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = Mockito.mock(DataCenter.class);
}
dc
The refactoring details in each test cases
Test Case ID #cloudstack_Test_216_1
Test Case Name: prepareAndVerifyAvoidDisabledResourcesTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
- DataCenter dc = Mockito.mock(DataCenter.class);
+ // removed local mock; replaced with global field `dc`
ExcludeList avoids = Mockito.mock(ExcludeList.class);
Mockito.when(vmProfile.getType()).thenReturn(vmType);
Mockito.when(vmProfile.getId()).thenReturn(1l);
Mockito.doNothing().when(_dpm).avoidDisabledDataCenters(dc, avoids);
Mockito.doNothing().when(_dpm).avoidDisabledPods(dc, avoids);
Mockito.doNothing().when(_dpm).avoidDisabledClusters(dc, avoids);
Mockito.doNothing().when(_dpm).avoidDisabledHosts(dc, avoids);
VMInstanceVO vmInstanceVO = Mockito.mock(VMInstanceVO.class);
Mockito.when(vmInstanceDao.findById(Mockito.anyLong())).thenReturn(vmInstanceVO);
AccountVO owner = Mockito.mock(AccountVO.class);
Mockito.when(owner.getRoleId()).thenReturn(roleId);
Mockito.when(accountDao.findById(Mockito.anyLong())).thenReturn(owner);
_dpm.avoidDisabledResources(vmProfile, dc, avoids);
Mockito.verify(_dpm, Mockito.times(timesRouter)).isRouterDeployableInDisabledResources();
Mockito.verify(_dpm, Mockito.times(timesAdminVm)).isAdminVmDeployableInDisabledResources();
Mockito.verify(_dpm, Mockito.times(timesDisabledResource)).avoidDisabledDataCenters(dc, avoids);
Mockito.verify(_dpm, Mockito.times(timesDisabledResource)).avoidDisabledPods(dc, avoids);
Mockito.verify(_dpm, Mockito.times(timesDisabledResource)).avoidDisabledClusters(dc, avoids);
Mockito.verify(_dpm, Mockito.times(timesDisabledResource)).avoidDisabledHosts(dc, avoids);
Mockito.reset(_dpm);
Original Test Code (click to expand)
private void prepareAndVerifyAvoidDisabledResourcesTest(int timesRouter, int timesAdminVm, int timesDisabledResource, long roleId, Type vmType, boolean isSystemDepolyable, boolean isAdminVmDeployable) {
Mockito.doReturn(isSystemDepolyable).when(_dpm).isRouterDeployableInDisabledResources();
Mockito.doReturn(isAdminVmDeployable).when(_dpm).isAdminVmDeployableInDisabledResources();
VirtualMachineProfile vmProfile = Mockito.mock(VirtualMachineProfile.class);
DataCenter dc = Mockito.mock(DataCenter.class);
ExcludeList avoids = Mockito.mock(ExcludeList.class);
Mockito.when(vmProfile.getType()).thenReturn(vmType);
Mockito.when(vmProfile.getId()).thenReturn(1l);
Mockito.doNothing().when(_dpm).avoidDisabledDataCenters(dc, avoids);
Mockito.doNothing().when(_dpm).avoidDisabledPods(dc, avoids);
Mockito.doNothing().when(_dpm).avoidDisabledClusters(dc, avoids);
Mockito.doNothing().when(_dpm).avoidDisabledHosts(dc, avoids);
VMInstanceVO vmInstanceVO = Mockito.mock(VMInstanceVO.class);
Mockito.when(vmInstanceDao.findById(Mockito.anyLong())).thenReturn(vmInstanceVO);
AccountVO owner = Mockito.mock(AccountVO.class);
Mockito.when(owner.getRoleId()).thenReturn(roleId);
Mockito.when(accountDao.findById(Mockito.anyLong())).thenReturn(owner);
_dpm.avoidDisabledResources(vmProfile, dc, avoids);
Mockito.verify(_dpm, Mockito.times(timesRouter)).isRouterDeployableInDisabledResources();
Mockito.verify(_dpm, Mockito.times(timesAdminVm)).isAdminVmDeployableInDisabledResources();
Mockito.verify(_dpm, Mockito.times(timesDisabledResource)).avoidDisabledDataCenters(dc, avoids);
Mockito.verify(_dpm, Mockito.times(timesDisabledResource)).avoidDisabledPods(dc, avoids);
Mockito.verify(_dpm, Mockito.times(timesDisabledResource)).avoidDisabledClusters(dc, avoids);
Mockito.verify(_dpm, Mockito.times(timesDisabledResource)).avoidDisabledHosts(dc, avoids);
Mockito.reset(_dpm);
}
Reusable Method for MCI (click to expand)
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = Mockito.mock(DataCenter.class);
}
dc
Test Case ID #cloudstack_Test_216_2
Test Case Name: avoidDisabledPodsTestNoDisabledPod(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
@Test
public void avoidDisabledPodsTestNoDisabledPod() {
- DataCenter dc = Mockito.mock(DataCenter.class);
+ // removed local mock; replaced with global field `dc`
List<Long> podIds = new ArrayList<>();
long expectedPodId = 123l;
podIds.add(expectedPodId);
Mockito.doReturn(new ArrayList<>()).when(hostPodDao).listDisabledPods(Mockito.anyLong());
ExcludeList avoids = new ExcludeList();
- _dpm.avoidDisabledPods(dc, avoids);
+ _dpm.avoidDisabledPods(dc, avoids);
assertAvoidIsEmpty(avoids, true, true, true, true);
}
Original Test Code (click to expand)
@Test
public void avoidDisabledPodsTestNoDisabledPod() {
DataCenter dc = Mockito.mock(DataCenter.class);
List<Long> podIds = new ArrayList<>();
long expectedPodId = 123l;
podIds.add(expectedPodId);
Mockito.doReturn(new ArrayList<>()).when(hostPodDao).listDisabledPods(Mockito.anyLong());
ExcludeList avoids = new ExcludeList();
_dpm.avoidDisabledPods(dc, avoids);
assertAvoidIsEmpty(avoids, true, true, true, true);
}
Reusable Method for MCI (click to expand)
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = Mockito.mock(DataCenter.class);
}
dc
Test Case ID #cloudstack_Test_216_3
Test Case Name: avoidDisabledPodsTestHasDisabledPod(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\deploy\DeploymentPlanningManagerImplTest.java)
Mock Object Variable Name: dc
Suggested Diff
@@
@Test
public void avoidDisabledPodsTestHasDisabledPod() {
- DataCenter dc = Mockito.mock(DataCenter.class);
+ // removed local mock; replaced with global field `dc`
List<Long> podIds = new ArrayList<>();
long expectedPodId = 123l;
podIds.add(expectedPodId);
Mockito.doReturn(podIds).when(hostPodDao).listDisabledPods(Mockito.anyLong());
ExcludeList avoids = new ExcludeList();
- _dpm.avoidDisabledPods(dc, avoids);
+ _dpm.avoidDisabledPods(dc, avoids);
assertAvoidIsEmpty(avoids, true, false, true, true);
Assert.assertTrue(avoids.getPodsToAvoid().size() == 1);
Assert.assertTrue(avoids.getPodsToAvoid().contains(expectedPodId));
}
Original Test Code (click to expand)
@Test
public void avoidDisabledPodsTestHasDisabledPod() {
DataCenter dc = Mockito.mock(DataCenter.class);
List<Long> podIds = new ArrayList<>();
long expectedPodId = 123l;
podIds.add(expectedPodId);
Mockito.doReturn(podIds).when(hostPodDao).listDisabledPods(Mockito.anyLong());
ExcludeList avoids = new ExcludeList();
_dpm.avoidDisabledPods(dc, avoids);
assertAvoidIsEmpty(avoids, true, false, true, true);
Assert.assertTrue(avoids.getPodsToAvoid().size() == 1);
Assert.assertTrue(avoids.getPodsToAvoid().contains(expectedPodId));
}
Reusable Method for MCI (click to expand)
private DataCenter dc;
@BeforeEach
public void setUp() {
dc = Mockito.mock(DataCenter.class);
}
dc
Mock Clone Instance #cloudstack_MCI_217
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.user.userdata.DeleteUserDataCmd
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static DeleteUserDataCmd createMockDeleteUserDataCmd() {
DeleteUserDataCmd cmd = Mockito.mock(DeleteUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getId()).thenReturn(1L);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_217_1
Test Case Name: testSuccessfulDeleteUserdata(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
- DeleteUserDataCmd cmd = Mockito.mock(DeleteUserDataCmd.class);
- when(cmd.getAccountName()).thenReturn("testAccountName");
- when(cmd.getDomainId()).thenReturn(1L);
- when(cmd.getProjectId()).thenReturn(2L);
- when(cmd.getId()).thenReturn(1L);
+ DeleteUserDataCmd cmd = createMockDeleteUserDataCmd();
UserDataVO userData = Mockito.mock(UserDataVO.class);
Mockito.when(userData.getId()).thenReturn(1L);
when(_userDataDao.findById(1L)).thenReturn(userData);
@@
Original Test Code (click to expand)
@Test
public void testSuccessfulDeleteUserdata() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
DeleteUserDataCmd cmd = Mockito.mock(DeleteUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getId()).thenReturn(1L);
UserDataVO userData = Mockito.mock(UserDataVO.class);
Mockito.when(userData.getId()).thenReturn(1L);
when(_userDataDao.findById(1L)).thenReturn(userData);
when(_userDataDao.findByName(account.getAccountId(), account.getDomainId(), "testName")).thenReturn(null);
when(_templateDao.findTemplatesLinkedToUserdata(1L)).thenReturn(new ArrayList<VMTemplateVO>());
when(_userVmDao.findByUserDataId(1L)).thenReturn(new ArrayList<UserVmVO>());
when(_userDataDao.remove(1L)).thenReturn(true);
boolean result = spy.deleteUserData(cmd);
Assert.assertEquals(true, result);
}
Reusable Method for MCI (click to expand)
private static DeleteUserDataCmd createMockDeleteUserDataCmd() {
DeleteUserDataCmd cmd = Mockito.mock(DeleteUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getId()).thenReturn(1L);
return cmd;
}
Test Case ID #cloudstack_Test_217_2
Test Case Name: testDeleteUserdataLinkedToTemplate(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
- DeleteUserDataCmd cmd = Mockito.mock(DeleteUserDataCmd.class);
- when(cmd.getAccountName()).thenReturn("testAccountName");
- when(cmd.getDomainId()).thenReturn(1L);
- when(cmd.getProjectId()).thenReturn(2L);
- when(cmd.getId()).thenReturn(1L);
+ DeleteUserDataCmd cmd = createMockDeleteUserDataCmd();
UserDataVO userData = Mockito.mock(UserDataVO.class);
Mockito.when(userData.getId()).thenReturn(1L);
when(_userDataDao.findById(1L)).thenReturn(userData);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testDeleteUserdataLinkedToTemplate() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
DeleteUserDataCmd cmd = Mockito.mock(DeleteUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getId()).thenReturn(1L);
UserDataVO userData = Mockito.mock(UserDataVO.class);
Mockito.when(userData.getId()).thenReturn(1L);
when(_userDataDao.findById(1L)).thenReturn(userData);
when(_userDataDao.findByName(account.getAccountId(), account.getDomainId(), "testName")).thenReturn(null);
VMTemplateVO vmTemplateVO = Mockito.mock(VMTemplateVO.class);
List<VMTemplateVO> linkedTemplates = new ArrayList<>();
linkedTemplates.add(vmTemplateVO);
when(_templateDao.findTemplatesLinkedToUserdata(1L)).thenReturn(linkedTemplates);
spy.deleteUserData(cmd);
}
Reusable Method for MCI (click to expand)
private static DeleteUserDataCmd createMockDeleteUserDataCmd() {
DeleteUserDataCmd cmd = Mockito.mock(DeleteUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getId()).thenReturn(1L);
return cmd;
}
Test Case ID #cloudstack_Test_217_3
Test Case Name: testDeleteUserdataUsedByVM(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\server\ManagementServerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
- DeleteUserDataCmd cmd = Mockito.mock(DeleteUserDataCmd.class);
- when(cmd.getAccountName()).thenReturn("testAccountName");
- when(cmd.getDomainId()).thenReturn(1L);
- when(cmd.getProjectId()).thenReturn(2L);
- when(cmd.getId()).thenReturn(1L);
+ DeleteUserDataCmd cmd = createMockDeleteUserDataCmd();
UserDataVO userData = Mockito.mock(UserDataVO.class);
Mockito.when(userData.getId()).thenReturn(1L);
when(_userDataDao.findById(1L)).thenReturn(userData);
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void testDeleteUserdataUsedByVM() {
PowerMockito.mockStatic(CallContext.class);
CallContext callContextMock = PowerMockito.mock(CallContext.class);
when(CallContext.current()).thenReturn(callContextMock);
when(account.getAccountId()).thenReturn(1L);
when(account.getDomainId()).thenReturn(2L);
when(callContextMock.getCallingAccount()).thenReturn(account);
when(_accountMgr.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
DeleteUserDataCmd cmd = Mockito.mock(DeleteUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getId()).thenReturn(1L);
UserDataVO userData = Mockito.mock(UserDataVO.class);
Mockito.when(userData.getId()).thenReturn(1L);
when(_userDataDao.findById(1L)).thenReturn(userData);
when(_userDataDao.findByName(account.getAccountId(), account.getDomainId(), "testName")).thenReturn(null);
when(_templateDao.findTemplatesLinkedToUserdata(1L)).thenReturn(new ArrayList<VMTemplateVO>());
UserVmVO userVmVO = Mockito.mock(UserVmVO.class);
List<UserVmVO> vms = new ArrayList<>();
vms.add(userVmVO);
when(_userVmDao.findByUserDataId(1L)).thenReturn(vms);
spy.deleteUserData(cmd);
}
Reusable Method for MCI (click to expand)
private static DeleteUserDataCmd createMockDeleteUserDataCmd() {
DeleteUserDataCmd cmd = Mockito.mock(DeleteUserDataCmd.class);
when(cmd.getAccountName()).thenReturn("testAccountName");
when(cmd.getDomainId()).thenReturn(1L);
when(cmd.getProjectId()).thenReturn(2L);
when(cmd.getId()).thenReturn(1L);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_218
- Scope: method level
- Mocked Class:
AutoScalePolicyVO
- Test Case Count: 2
- MO Count: 4
Reusable Method
private static AutoScalePolicyVO createMockAutoScalePolicyVO(AutoScalePolicy.Action action, int duration, int quietTime) {
AutoScalePolicyVO autoScalePolicyVOMock = mock(AutoScalePolicyVO.class);
when(autoScalePolicyVOMock.getAction()).thenReturn(action);
when(autoScalePolicyVOMock.getDuration()).thenReturn(duration);
when(autoScalePolicyVOMock.getQuietTime()).thenReturn(quietTime);
return autoScalePolicyVOMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_218_1
Test Case Name: testCreateAutoScaleVmGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: asScaleUpPolicyMock
Suggested Diff
@@
when(lbVmMapDao.isVmAttachedToLoadBalancer(loadBalancerId)).thenReturn(false);
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScalePolicyVO> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
- when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
- when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
- when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
+ asScaleUpPolicyMock = createMockAutoScalePolicyVO(AutoScalePolicy.Action.SCALEUP, scaleUpPolicyDuration, scaleUpPolicyQuietTime);
when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
@@
Original Test Code (click to expand)
@Test
public void testCreateAutoScaleVmGroup() {
CreateAutoScaleVmGroupCmd cmd = new CreateAutoScaleVmGroupCmd();
ReflectionTestUtils.setField(cmd, "lbRuleId", loadBalancerId);
ReflectionTestUtils.setField(cmd, "name", vmGroupName);
ReflectionTestUtils.setField(cmd, "minMembers", minMembers);
ReflectionTestUtils.setField(cmd, "maxMembers", maxMembers);
ReflectionTestUtils.setField(cmd, "interval", interval);
ReflectionTestUtils.setField(cmd, "scaleUpPolicyIds", Arrays.asList(scaleUpPolicyId));
ReflectionTestUtils.setField(cmd, "scaleDownPolicyIds", Arrays.asList(scaleDownPolicyId));
ReflectionTestUtils.setField(cmd, "profileId", vmProfileId);
when(entityManager.findById(LoadBalancer.class, loadBalancerId)).thenReturn(loadBalancerMock);
when(loadBalancerMock.getAccountId()).thenReturn(accountId);
when(loadBalancerMock.getDomainId()).thenReturn(domainId);
when(loadBalancerMock.getDefaultPortStart()).thenReturn(memberPort);
when(lbDao.findById(loadBalancerId)).thenReturn(loadBalancerMock);
when(loadBalancerMock.getSourceIpAddressId()).thenReturn(ipAddressId);
when(loadBalancerMock.getNetworkId()).thenReturn(networkId);
when(ipAddressDao.findById(ipAddressId)).thenReturn(ipAddressMock);
when(ipAddressMock.getDataCenterId()).thenReturn(zoneId);
when(loadBalancerMock.getId()).thenReturn(loadBalancerId);
when(autoScaleVmGroupDao.isAutoScaleLoadBalancer(loadBalancerId)).thenReturn(false);
when(lbVmMapDao.isVmAttachedToLoadBalancer(loadBalancerId)).thenReturn(false);
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScalePolicyVO> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(asPolicyDao.search(searchCriteriaMock, null)).thenReturn(Arrays.asList(asScaleUpPolicyMock)).thenReturn(Arrays.asList(asScaleDownPolicyMock));
when(autoScaleVmProfileDao.findById(vmProfileId)).thenReturn(asVmProfileMock);
PowerMockito.doReturn(Network.Provider.VirtualRouter).when(autoScaleManagerImplSpy).getLoadBalancerServiceProvider(loadBalancerId);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).validateAutoScaleCounters(anyLong(), any(), any());
when(loadBalancerMock.getNetworkId()).thenReturn(networkId);
when(networkDao.findById(networkId)).thenReturn(networkMock);
when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingId);
when(networkOfferingDao.findByIdIncludingRemoved(networkOfferingId)).thenReturn(networkOfferingMock);
when(networkOfferingMock.isSupportsVmAutoScaling()).thenReturn(true);
when(autoScaleVmGroupDao.persist(any())).thenReturn(asVmGroupMock);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).scheduleMonitorTask(anyLong());
AutoScaleVmGroup vmGroup = autoScaleManagerImplSpy.createAutoScaleVmGroup(cmd);
Assert.assertEquals(asVmGroupMock, vmGroup);
Mockito.verify(asGroupStatisticsDao).createInactiveDummyRecord(anyLong());
Mockito.verify(autoScaleManagerImplSpy).scheduleMonitorTask(anyLong());
}
@Before
public void setUp() {
account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, "uuid");
account.setId(2L);
user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
CallContext.register(user, account);
when(counterDao.persist(any(CounterVO.class))).thenReturn(counterMock);
when(counterDao.findById(anyLong())).thenReturn(counterMock);
when(conditionDao.findById(any())).thenReturn(conditionMock);
when(conditionDao.persist(any(ConditionVO.class))).thenReturn(conditionMock);
when(accountManager.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
Mockito.doNothing().when(accountManager).checkAccess(Mockito.any(Account.class), Mockito.isNull(), Mockito.anyBoolean(), Mockito.any());
when(asPolicyDao.persist(any(AutoScalePolicyVO.class))).thenReturn(asScaleUpPolicyMock);
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyVO createMockAutoScalePolicyVO(AutoScalePolicy.Action action, int duration, int quietTime) {
AutoScalePolicyVO autoScalePolicyVOMock = mock(AutoScalePolicyVO.class);
when(autoScalePolicyVOMock.getAction()).thenReturn(action);
when(autoScalePolicyVOMock.getDuration()).thenReturn(duration);
when(autoScalePolicyVOMock.getQuietTime()).thenReturn(quietTime);
return autoScalePolicyVOMock;
}
Test Case ID #cloudstack_Test_218_2
Test Case Name: testUpdateAutoScaleVmGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: asScaleUpPolicyMock
Suggested Diff
@@
when(asVmGroupMock.getLoadBalancerId()).thenReturn(loadBalancerId);
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScalePolicyVO> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
- when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
- when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
- when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
+ asScaleUpPolicyMock = createMockAutoScalePolicyVO(AutoScalePolicy.Action.SCALEUP, scaleUpPolicyDuration, scaleUpPolicyQuietTime);
when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
@@
Original Test Code (click to expand)
@Test
public void testUpdateAutoScaleVmGroup() {
UpdateAutoScaleVmGroupCmd cmd = new UpdateAutoScaleVmGroupCmd();
ReflectionTestUtils.setField(cmd, "id", vmGroupId);
ReflectionTestUtils.setField(cmd, "name", vmGroupNameWithMaxLength);
ReflectionTestUtils.setField(cmd, "minMembers", minMembers + 1);
ReflectionTestUtils.setField(cmd, "maxMembers", maxMembers + 1);
ReflectionTestUtils.setField(cmd, "interval", interval);
when(autoScaleVmGroupDao.findById(vmGroupId)).thenReturn(asVmGroupMock);
when(asVmGroupMock.getName()).thenReturn(vmGroupNameWithMaxLength);
when(asVmGroupMock.getInterval()).thenReturn(interval);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getState()).thenReturn(AutoScaleVmGroup.State.DISABLED);
when(asVmGroupMock.getProfileId()).thenReturn(vmProfileId);
when(asVmGroupMock.getLoadBalancerId()).thenReturn(loadBalancerId);
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScalePolicyVO> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(asPolicyDao.search(searchCriteriaMock, null)).thenReturn(Arrays.asList(asScaleUpPolicyMock)).thenReturn(Arrays.asList(asScaleDownPolicyMock));
when(lbDao.findById(loadBalancerId)).thenReturn(loadBalancerMock);
when(autoScaleVmProfileDao.findById(vmProfileId)).thenReturn(asVmProfileMock);
PowerMockito.doReturn(Network.Provider.VirtualRouter).when(autoScaleManagerImplSpy).getLoadBalancerServiceProvider(loadBalancerId);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).validateAutoScaleCounters(anyLong(), any(), any());
when(loadBalancerMock.getNetworkId()).thenReturn(networkId);
when(networkDao.findById(networkId)).thenReturn(networkMock);
when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingId);
when(networkOfferingDao.findByIdIncludingRemoved(networkOfferingId)).thenReturn(networkOfferingMock);
when(networkOfferingMock.isSupportsVmAutoScaling()).thenReturn(true);
when(autoScaleVmGroupDao.persist(any())).thenReturn(asVmGroupMock);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).scheduleMonitorTask(anyLong());
AutoScaleVmGroup vmGroup = autoScaleManagerImplSpy.updateAutoScaleVmGroup(cmd);
Assert.assertEquals(asVmGroupMock, vmGroup);
Mockito.verify(asVmGroupMock).setName(vmGroupNameWithMaxLength);
Mockito.verify(asVmGroupMock).setMinMembers(minMembers + 1);
Mockito.verify(asVmGroupMock).setMaxMembers(maxMembers + 1);
Mockito.verify(asVmGroupMock).setInterval(interval);
}
@Before
public void setUp() {
account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, "uuid");
account.setId(2L);
user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN);
CallContext.register(user, account);
when(counterDao.persist(any(CounterVO.class))).thenReturn(counterMock);
when(counterDao.findById(anyLong())).thenReturn(counterMock);
when(conditionDao.findById(any())).thenReturn(conditionMock);
when(conditionDao.persist(any(ConditionVO.class))).thenReturn(conditionMock);
when(accountManager.finalizeOwner(nullable(Account.class), nullable(String.class), nullable(Long.class), nullable(Long.class))).thenReturn(account);
Mockito.doNothing().when(accountManager).checkAccess(Mockito.any(Account.class), Mockito.isNull(), Mockito.anyBoolean(), Mockito.any());
when(asPolicyDao.persist(any(AutoScalePolicyVO.class))).thenReturn(asScaleUpPolicyMock);
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyVO createMockAutoScalePolicyVO(AutoScalePolicy.Action action, int duration, int quietTime) {
AutoScalePolicyVO autoScalePolicyVOMock = mock(AutoScalePolicyVO.class);
when(autoScalePolicyVOMock.getAction()).thenReturn(action);
when(autoScalePolicyVOMock.getDuration()).thenReturn(duration);
when(autoScalePolicyVOMock.getQuietTime()).thenReturn(quietTime);
return autoScalePolicyVOMock;
}
Test Case ID #cloudstack_Test_218_3
Test Case Name: testCreateAutoScaleVmGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: asScaleDownPolicyMock
Suggested Diff
@@
when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
- when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
- when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
- when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
+ asScaleDownPolicyMock = createMockAutoScalePolicyVO(AutoScalePolicy.Action.SCALEDOWN, scaleDownPolicyDuration, scaleDownPolicyQuietTime);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
@@
Original Test Code (click to expand)
@Test
public void testCreateAutoScaleVmGroup() {
CreateAutoScaleVmGroupCmd cmd = new CreateAutoScaleVmGroupCmd();
ReflectionTestUtils.setField(cmd, "lbRuleId", loadBalancerId);
ReflectionTestUtils.setField(cmd, "name", vmGroupName);
ReflectionTestUtils.setField(cmd, "minMembers", minMembers);
ReflectionTestUtils.setField(cmd, "maxMembers", maxMembers);
ReflectionTestUtils.setField(cmd, "interval", interval);
ReflectionTestUtils.setField(cmd, "scaleUpPolicyIds", Arrays.asList(scaleUpPolicyId));
ReflectionTestUtils.setField(cmd, "scaleDownPolicyIds", Arrays.asList(scaleDownPolicyId));
ReflectionTestUtils.setField(cmd, "profileId", vmProfileId);
when(entityManager.findById(LoadBalancer.class, loadBalancerId)).thenReturn(loadBalancerMock);
when(loadBalancerMock.getAccountId()).thenReturn(accountId);
when(loadBalancerMock.getDomainId()).thenReturn(domainId);
when(loadBalancerMock.getDefaultPortStart()).thenReturn(memberPort);
when(lbDao.findById(loadBalancerId)).thenReturn(loadBalancerMock);
when(loadBalancerMock.getSourceIpAddressId()).thenReturn(ipAddressId);
when(loadBalancerMock.getNetworkId()).thenReturn(networkId);
when(ipAddressDao.findById(ipAddressId)).thenReturn(ipAddressMock);
when(ipAddressMock.getDataCenterId()).thenReturn(zoneId);
when(loadBalancerMock.getId()).thenReturn(loadBalancerId);
when(autoScaleVmGroupDao.isAutoScaleLoadBalancer(loadBalancerId)).thenReturn(false);
when(lbVmMapDao.isVmAttachedToLoadBalancer(loadBalancerId)).thenReturn(false);
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScalePolicyVO> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(asPolicyDao.search(searchCriteriaMock, null)).thenReturn(Arrays.asList(asScaleUpPolicyMock)).thenReturn(Arrays.asList(asScaleDownPolicyMock));
when(autoScaleVmProfileDao.findById(vmProfileId)).thenReturn(asVmProfileMock);
PowerMockito.doReturn(Network.Provider.VirtualRouter).when(autoScaleManagerImplSpy).getLoadBalancerServiceProvider(loadBalancerId);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).validateAutoScaleCounters(anyLong(), any(), any());
when(loadBalancerMock.getNetworkId()).thenReturn(networkId);
when(networkDao.findById(networkId)).thenReturn(networkMock);
when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingId);
when(networkOfferingDao.findByIdIncludingRemoved(networkOfferingId)).thenReturn(networkOfferingMock);
when(networkOfferingMock.isSupportsVmAutoScaling()).thenReturn(true);
when(autoScaleVmGroupDao.persist(any())).thenReturn(asVmGroupMock);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).scheduleMonitorTask(anyLong());
AutoScaleVmGroup vmGroup = autoScaleManagerImplSpy.createAutoScaleVmGroup(cmd);
Assert.assertEquals(asVmGroupMock, vmGroup);
Mockito.verify(asGroupStatisticsDao).createInactiveDummyRecord(anyLong());
Mockito.verify(autoScaleManagerImplSpy).scheduleMonitorTask(anyLong());
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyVO createMockAutoScalePolicyVO(AutoScalePolicy.Action action, int duration, int quietTime) {
AutoScalePolicyVO autoScalePolicyVOMock = mock(AutoScalePolicyVO.class);
when(autoScalePolicyVOMock.getAction()).thenReturn(action);
when(autoScalePolicyVOMock.getDuration()).thenReturn(duration);
when(autoScalePolicyVOMock.getQuietTime()).thenReturn(quietTime);
return autoScalePolicyVOMock;
}
Test Case ID #cloudstack_Test_218_4
Test Case Name: testUpdateAutoScaleVmGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: asScaleDownPolicyMock
Suggested Diff
@@
when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
- when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
- when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
- when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
+ asScaleDownPolicyMock = createMockAutoScalePolicyVO(AutoScalePolicy.Action.SCALEDOWN, scaleDownPolicyDuration, scaleDownPolicyQuietTime);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
@@
Original Test Code (click to expand)
@Test
public void testUpdateAutoScaleVmGroup() {
UpdateAutoScaleVmGroupCmd cmd = new UpdateAutoScaleVmGroupCmd();
ReflectionTestUtils.setField(cmd, "id", vmGroupId);
ReflectionTestUtils.setField(cmd, "name", vmGroupNameWithMaxLength);
ReflectionTestUtils.setField(cmd, "minMembers", minMembers + 1);
ReflectionTestUtils.setField(cmd, "maxMembers", maxMembers + 1);
ReflectionTestUtils.setField(cmd, "interval", interval);
when(autoScaleVmGroupDao.findById(vmGroupId)).thenReturn(asVmGroupMock);
when(asVmGroupMock.getName()).thenReturn(vmGroupNameWithMaxLength);
when(asVmGroupMock.getInterval()).thenReturn(interval);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getState()).thenReturn(AutoScaleVmGroup.State.DISABLED);
when(asVmGroupMock.getProfileId()).thenReturn(vmProfileId);
when(asVmGroupMock.getLoadBalancerId()).thenReturn(loadBalancerId);
SearchBuilder<AutoScalePolicyVO> searchBuilderMock = Mockito.mock(SearchBuilder.class);
SearchCriteria<AutoScalePolicyVO> searchCriteriaMock = Mockito.mock(SearchCriteria.class);
when(asScaleUpPolicyMock.getDuration()).thenReturn(scaleUpPolicyDuration);
when(asScaleUpPolicyMock.getQuietTime()).thenReturn(scaleUpPolicyQuietTime);
when(asScaleUpPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
when(asScaleDownPolicyMock.getDuration()).thenReturn(scaleDownPolicyDuration);
when(asScaleDownPolicyMock.getQuietTime()).thenReturn(scaleDownPolicyQuietTime);
when(asScaleDownPolicyMock.getAction()).thenReturn(AutoScalePolicy.Action.SCALEDOWN);
Mockito.doReturn(searchBuilderMock).when(asPolicyDao).createSearchBuilder();
when(searchBuilderMock.entity()).thenReturn(asScaleUpPolicyMock);
Mockito.doReturn(searchCriteriaMock).when(searchBuilderMock).create();
when(asPolicyDao.search(searchCriteriaMock, null)).thenReturn(Arrays.asList(asScaleUpPolicyMock)).thenReturn(Arrays.asList(asScaleDownPolicyMock));
when(lbDao.findById(loadBalancerId)).thenReturn(loadBalancerMock);
when(autoScaleVmProfileDao.findById(vmProfileId)).thenReturn(asVmProfileMock);
PowerMockito.doReturn(Network.Provider.VirtualRouter).when(autoScaleManagerImplSpy).getLoadBalancerServiceProvider(loadBalancerId);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).validateAutoScaleCounters(anyLong(), any(), any());
when(loadBalancerMock.getNetworkId()).thenReturn(networkId);
when(networkDao.findById(networkId)).thenReturn(networkMock);
when(networkMock.getNetworkOfferingId()).thenReturn(networkOfferingId);
when(networkOfferingDao.findByIdIncludingRemoved(networkOfferingId)).thenReturn(networkOfferingMock);
when(networkOfferingMock.isSupportsVmAutoScaling()).thenReturn(true);
when(autoScaleVmGroupDao.persist(any())).thenReturn(asVmGroupMock);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).scheduleMonitorTask(anyLong());
AutoScaleVmGroup vmGroup = autoScaleManagerImplSpy.updateAutoScaleVmGroup(cmd);
Assert.assertEquals(asVmGroupMock, vmGroup);
Mockito.verify(asVmGroupMock).setName(vmGroupNameWithMaxLength);
Mockito.verify(asVmGroupMock).setMinMembers(minMembers + 1);
Mockito.verify(asVmGroupMock).setMaxMembers(maxMembers + 1);
Mockito.verify(asVmGroupMock).setInterval(interval);
}
Reusable Method for MCI (click to expand)
private static AutoScalePolicyVO createMockAutoScalePolicyVO(AutoScalePolicy.Action action, int duration, int quietTime) {
AutoScalePolicyVO autoScalePolicyVOMock = mock(AutoScalePolicyVO.class);
when(autoScalePolicyVOMock.getAction()).thenReturn(action);
when(autoScalePolicyVOMock.getDuration()).thenReturn(duration);
when(autoScalePolicyVOMock.getQuietTime()).thenReturn(quietTime);
return autoScalePolicyVOMock;
}
Mock Clone Instance #cloudstack_MCI_219
- Scope: method level
- Mocked Class:
org.apache.http.impl.client.CloseableHttpClient
- Test Case Count: 9
- MO Count: 9
Reusable Method
private static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse response) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
return httpClient;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_219_1
Test Case Name: testExecuteUpdateObject(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
- final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
+ final CloseableHttpClient httpClient = createMockCloseableHttpClient(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeUpdateObject(newObject, "/somepath");
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("PUT"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
@@
Original Test Code (click to expand)
@Test
public void testExecuteUpdateObject() throws Exception {
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeUpdateObject(newObject, "/somepath");
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("PUT"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
}
Reusable Method for MCI (click to expand)
private static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse response) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
return httpClient;
}
Test Case ID #cloudstack_Test_219_2
Test Case Name: testExecuteUpdateObjectWithParameters(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
- final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
+ final CloseableHttpClient httpClient = createMockCloseableHttpClient(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeUpdateObject(newObject, "/somepath", DEFAULT_TEST_PARAMETERS);
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("PUT"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
@@
Original Test Code (click to expand)
@Test
public void testExecuteUpdateObjectWithParameters() throws Exception {
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeUpdateObject(newObject, "/somepath", DEFAULT_TEST_PARAMETERS);
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("PUT"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
}
Reusable Method for MCI (click to expand)
private static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse response) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
return httpClient;
}
Test Case ID #cloudstack_Test_219_3
Test Case Name: testExecuteCreateObject(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
- final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
+ final CloseableHttpClient httpClient = createMockCloseableHttpClient(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeCreateObject(newObject, "/somepath");
@@
Original Test Code (click to expand)
@Test
public void testExecuteCreateObject() throws Exception {
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeCreateObject(newObject, "/somepath");
assertThat(object, notNullValue());
assertThat(object, equalTo(newObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("POST"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(response).close();
}
Reusable Method for MCI (click to expand)
private static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse response) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
return httpClient;
}
Test Case ID #cloudstack_Test_219_4
Test Case Name: testExecuteCreateObjectWithParameters(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
- final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
+ final CloseableHttpClient httpClient = createMockCloseableHttpClient(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeCreateObject(newObject, "/somepath", DEFAULT_TEST_PARAMETERS);
assertThat(object, notNullValue());
assertThat(object, equalTo(newObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("POST"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
verify(response).close();
@@
Original Test Code (click to expand)
@Test
public void testExecuteCreateObjectWithParameters() throws Exception {
final TestPojo newObject = new TestPojo();
newObject.setField("newValue");
final String newObjectJson = gson.toJson(newObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeCreateObject(newObject, "/somepath", DEFAULT_TEST_PARAMETERS);
assertThat(object, notNullValue());
assertThat(object, equalTo(newObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("POST"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestPayloadMatcher.aPayload(newObjectJson), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
verify(response).close();
}
Reusable Method for MCI (click to expand)
private static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse response) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
return httpClient;
}
Test Case ID #cloudstack_Test_219_5
Test Case Name: testExecuteDeleteObject(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
when(response.getEntity()).thenReturn(entity);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
- final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
+ final CloseableHttpClient httpClient = createMockCloseableHttpClient(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeDeleteObject("/somepath");
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("DELETE"), any(HttpClientContext.class));
verify(response).close();
@@
Original Test Code (click to expand)
@Test
public void testExecuteDeleteObject() throws Exception {
final HttpEntity entity = mock(HttpEntity.class);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(entity);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
connector.executeDeleteObject("/somepath");
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("DELETE"), any(HttpClientContext.class));
verify(response).close();
}
Reusable Method for MCI (click to expand)
private static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse response) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
return httpClient;
}
Test Case ID #cloudstack_Test_219_6
Test Case Name: testExecuteRetrieveObject(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
- final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
+ final CloseableHttpClient httpClient = createMockCloseableHttpClient(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeRetrieveObject(TestPojo.class, "/somepath");
assertThat(object, notNullValue());
assertThat(object, equalTo(existingObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(response).close();
@@
Original Test Code (click to expand)
@Test
public void testExecuteRetrieveObject() throws Exception {
final TestPojo existingObject = new TestPojo();
existingObject.setField("existingValue");
final String newObjectJson = gson.toJson(existingObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeRetrieveObject(TestPojo.class, "/somepath");
assertThat(object, notNullValue());
assertThat(object, equalTo(existingObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(response).close();
}
Reusable Method for MCI (click to expand)
private static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse response) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
return httpClient;
}
Test Case ID #cloudstack_Test_219_7
Test Case Name: testExecuteRetrieveObjectWithParameters(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
- final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
+ final CloseableHttpClient httpClient = createMockCloseableHttpClient(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeRetrieveObject(TestPojo.class, "/somepath", DEFAULT_TEST_PARAMETERS);
assertThat(object, notNullValue());
assertThat(object, equalTo(existingObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
verify(response).close();
@@
Original Test Code (click to expand)
@Test
public void testExecuteRetrieveObjectWithParameters() throws Exception {
final TestPojo existingObject = new TestPojo();
existingObject.setField("existingValue");
final String newObjectJson = gson.toJson(existingObject);
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getEntity()).thenReturn(new StringEntity(newObjectJson));
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).build();
final TestPojo object = connector.executeRetrieveObject(TestPojo.class, "/somepath", DEFAULT_TEST_PARAMETERS);
assertThat(object, notNullValue());
assertThat(object, equalTo(existingObject));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestMethodMatcher.aMethod("GET"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg2=val2"), any(HttpClientContext.class));
verify(httpClient).execute(any(HttpHost.class), HttpUriRequestQueryMatcher.aQueryThatContains("arg1=val1"), any(HttpClientContext.class));
verify(response).close();
}
Reusable Method for MCI (click to expand)
private static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse response) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
return httpClient;
}
Test Case ID #cloudstack_Test_219_8
Test Case Name: testCustomDeserializerTypeMismatch(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
when(response.getEntity()).thenReturn(new StringEntity("[{somethig_not_type : \"WrongType\"}]"));
- final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
+ final CloseableHttpClient httpClient = createMockCloseableHttpClient(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).classToDeserializerEntry(TestPojo.class, new TestPojoDeserializer()).build();
connector.executeRetrieveObject(TestPojo.class, "/somepath");
@@
Original Test Code (click to expand)
@Test(expected = JsonParseException.class)
public void testCustomDeserializerTypeMismatch() throws Exception {
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
when(response.getEntity()).thenReturn(new StringEntity("[{somethig_not_type : \"WrongType\"}]"));
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).classToDeserializerEntry(TestPojo.class, new TestPojoDeserializer()).build();
connector.executeRetrieveObject(TestPojo.class, "/somepath");
}
Reusable Method for MCI (click to expand)
private static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse response) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
return httpClient;
}
Test Case ID #cloudstack_Test_219_9
Test Case Name: testCustomDeserializerForCustomLists(File: C:\Java_projects\Apache\cloudstack\utils\src\test\java\com\cloud\utils\rest\RESTServiceConnectorTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
when(response.getEntity()).thenReturn(new StringEntity("{results: [{field : \"SomeValue\"}], results_count: 1}"));
- final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
+ final CloseableHttpClient httpClient = createMockCloseableHttpClient(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final Class<? extends CollectionType> clazzListOfTestPojo = new ObjectMapper().getTypeFactory().constructCollectionType(List.class, TestPojo.class).getClass();
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).classToDeserializerEntry(clazzListOfTestPojo, new CustomListDeserializer<TestPojoDeserializer>()).build();
connector.executeRetrieveObject(TestPojo.class, "/somepath");
@@
Original Test Code (click to expand)
@Test
public void testCustomDeserializerForCustomLists() throws Exception {
final CloseableHttpResponse response = mock(CloseableHttpResponse.class);
when(response.getStatusLine()).thenReturn(HTTP_200_STATUS_LINE);
when(response.getEntity()).thenReturn(new StringEntity("{results: [{field : \"SomeValue\"}], results_count: 1}"));
final CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
final RestClient restClient = new BasicRestClient(httpClient, HttpClientContext.create(), "localhost");
final Class<? extends CollectionType> clazzListOfTestPojo = new ObjectMapper().getTypeFactory().constructCollectionType(List.class, TestPojo.class).getClass();
final RESTServiceConnector connector = new RESTServiceConnector.Builder().client(restClient).classToDeserializerEntry(clazzListOfTestPojo, new CustomListDeserializer<TestPojoDeserializer>()).build();
connector.executeRetrieveObject(TestPojo.class, "/somepath");
}
Reusable Method for MCI (click to expand)
private static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse response) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpHost.class), any(HttpRequest.class), any(HttpClientContext.class))).thenReturn(response);
return httpClient;
}
Mock Clone Instance #cloudstack_MCI_220
- Scope: class level
- Mocked Class:
org.apache.http.impl.client.CloseableHttpClient
- Test Case Count: 10
- MO Count: 10
Reusable Method
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_220_1
Test Case Name: getSnhItfReqTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
Document document = mock(Document.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient(closeableHttpResponse);
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenReturn(document);
assertEquals(document, introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Original Test Code (click to expand)
@Test
public void getSnhItfReqTest() throws Exception {
Document document = mock(Document.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenReturn(document);
assertEquals(document, introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
Test Case ID #cloudstack_Test_220_2
Test Case Name: getSnhItfReqWithParserConfigurationExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient(closeableHttpResponse);
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenThrow(ParserConfigurationException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Original Test Code (click to expand)
@Test
public void getSnhItfReqWithParserConfigurationExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenThrow(ParserConfigurationException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
Test Case ID #cloudstack_Test_220_3
Test Case Name: getSnhItfReqWithSAXExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient(closeableHttpResponse);
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenThrow(SAXException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Original Test Code (click to expand)
@Test
public void getSnhItfReqWithSAXExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenThrow(SAXException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
Test Case ID #cloudstack_Test_220_4
Test Case Name: addPortTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
Port port = mock(Port.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient(closeableHttpResponse);
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.addPort(port));
}
@@
Original Test Code (click to expand)
@Test
public void addPortTest() throws Exception {
Port port = mock(Port.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.addPort(port));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
Test Case ID #cloudstack_Test_220_5
Test Case Name: addPortWithFailTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
Port port = mock(Port.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient(closeableHttpResponse);
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{error:404}");
assertFalse(vRouterApiConnector.addPort(port));
}
Original Test Code (click to expand)
@Test
public void addPortWithFailTest() throws Exception {
Port port = mock(Port.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{error:404}");
assertFalse(vRouterApiConnector.addPort(port));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
Test Case ID #cloudstack_Test_220_6
Test Case Name: deletePortTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient(closeableHttpResponse);
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.deletePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
@@
Original Test Code (click to expand)
@Test
public void deletePortTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.deletePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
Test Case ID #cloudstack_Test_220_7
Test Case Name: enablePortTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient(closeableHttpResponse);
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.enablePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
Original Test Code (click to expand)
@Test
public void enablePortTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.enablePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
Test Case ID #cloudstack_Test_220_8
Test Case Name: disablePortTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
- when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient(closeableHttpResponse);
+ when(HttpClients.createDefault()).thenReturn(httpClient);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.disablePort("948f421c-edde-4518-a391-09299cc25dc2"));
@@
Original Test Code (click to expand)
@Test
public void disablePortTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.disablePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
Test Case ID #cloudstack_Test_220_9
Test Case Name: addGatewayTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
Gateway gateway1 = mock(Gateway.class);
Gateway gateway2 = mock(Gateway.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient(closeableHttpResponse);
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.addGateway(Arrays.asList(gateway1, gateway2)));
}
Original Test Code (click to expand)
@Test
public void addGatewayTest() throws Exception {
Gateway gateway1 = mock(Gateway.class);
Gateway gateway2 = mock(Gateway.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.addGateway(Arrays.asList(gateway1, gateway2)));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
Test Case ID #cloudstack_Test_220_10
Test Case Name: deleteGatewayTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
Gateway gateway1 = mock(Gateway.class);
Gateway gateway2 = mock(Gateway.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient(closeableHttpResponse);
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.deleteGateway(Arrays.asList(gateway1, gateway2)));
}
@@
Original Test Code (click to expand)
@Test
public void deleteGatewayTest() throws Exception {
Gateway gateway1 = mock(Gateway.class);
Gateway gateway2 = mock(Gateway.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(EntityUtils.toString(any(HttpEntity.class))).thenReturn("{}");
assertTrue(vRouterApiConnector.deleteGateway(Arrays.asList(gateway1, gateway2)));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient(CloseableHttpResponse closeableHttpResponse) {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
return httpClient;
}
}
Mock Clone Instance #cloudstack_MCI_221
- Scope: class level
- Mocked Class:
org.apache.http.impl.client.CloseableHttpClient
- Test Case Count: 7
- MO Count: 7
Reusable Method
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient() {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
return httpClient;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_221_1
Test Case Name: deleteGatewayWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
Gateway gateway1 = mock(Gateway.class);
Gateway gateway2 = mock(Gateway.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient();
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertFalse(vRouterApiConnector.deleteGateway(Arrays.asList(gateway1, gateway2)));
}
Original Test Code (click to expand)
@Test
public void deleteGatewayWithExceptionTest() throws Exception {
Gateway gateway1 = mock(Gateway.class);
Gateway gateway2 = mock(Gateway.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertFalse(vRouterApiConnector.deleteGateway(Arrays.asList(gateway1, gateway2)));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient() {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
return httpClient;
}
}
Test Case ID #cloudstack_Test_221_2
Test Case Name: getSnhItfReqWithIOExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
@Test
public void getSnhItfReqWithIOExceptionTest() throws Exception {
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient();
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
@@
Original Test Code (click to expand)
@Test
public void getSnhItfReqWithIOExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient() {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
return httpClient;
}
}
Test Case ID #cloudstack_Test_221_3
Test Case Name: addPortWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
Port port = mock(Port.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient();
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertFalse(vRouterApiConnector.addPort(port));
Original Test Code (click to expand)
@Test
public void addPortWithExceptionTest() throws Exception {
Port port = mock(Port.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertFalse(vRouterApiConnector.addPort(port));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient() {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
return httpClient;
}
}
Test Case ID #cloudstack_Test_221_4
Test Case Name: deletePortWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
@Test
public void deletePortWithExceptionTest() throws Exception {
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient();
+ when(HttpClients.createDefault()).thenReturn(httpClient);
assertFalse(vRouterApiConnector.deletePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
@@
Original Test Code (click to expand)
@Test
public void deletePortWithExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertFalse(vRouterApiConnector.deletePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient() {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
return httpClient;
}
}
Test Case ID #cloudstack_Test_221_5
Test Case Name: enablePortWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
@Test
public void enablePortWithExceptionTest() throws Exception {
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient();
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertFalse(vRouterApiConnector.enablePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
@@
Original Test Code (click to expand)
@Test
public void enablePortWithExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertFalse(vRouterApiConnector.enablePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient() {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
return httpClient;
}
}
Test Case ID #cloudstack_Test_221_6
Test Case Name: disablePortWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
@Test
public void disablePortWithExceptionTest() throws Exception {
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient();
when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertFalse(vRouterApiConnector.disablePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
@@
Original Test Code (click to expand)
@Test
public void disablePortWithExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertFalse(vRouterApiConnector.disablePort("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient() {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
return httpClient;
}
}
Test Case ID #cloudstack_Test_221_7
Test Case Name: addGatewayWithExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\VRouterApiConnectorImplTest.java)
Mock Object Variable Name: httpClient
Suggested Diff
@@
Gateway gateway1 = mock(Gateway.class);
Gateway gateway2 = mock(Gateway.class);
- CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
- when(HttpClients.createDefault()).thenReturn(httpClient);
- when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
+ CloseableHttpClient httpClient = MockCloseableHttpClient.createMockCloseableHttpClient();
+ when(HttpClients.createDefault()).thenReturn(httpClient);
assertFalse(vRouterApiConnector.addGateway(Arrays.asList(gateway1, gateway2)));
}
Original Test Code (click to expand)
@Test
public void addGatewayWithExceptionTest() throws Exception {
Gateway gateway1 = mock(Gateway.class);
Gateway gateway2 = mock(Gateway.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
assertFalse(vRouterApiConnector.addGateway(Arrays.asList(gateway1, gateway2)));
}
Reusable Method for MCI (click to expand)
public class MockCloseableHttpClient {
public static CloseableHttpClient createMockCloseableHttpClient() {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
when(httpClient.execute(any(HttpUriRequest.class))).thenThrow(IOException.class);
return httpClient;
}
}
Mock Clone Instance #cloudstack_MCI_222
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.admin.network.ListGuestNetworkIpv6PrefixesCmd
- Test Case Count: 1
- MO Count: 2
Reusable Method
private static ListGuestNetworkIpv6PrefixesCmd createMockListGuestNetworkIpv6PrefixesCmd(long zoneIdReturn) {
ListGuestNetworkIpv6PrefixesCmd cmd = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd.getZoneId()).thenReturn(zoneIdReturn);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_222_1
Test Case Name: testListDataCenterGuestIpv6Prefixes(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
@Test
public void testListDataCenterGuestIpv6Prefixes() {
- ListGuestNetworkIpv6PrefixesCmd cmd = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
- Mockito.when(cmd.getId()).thenReturn(1L);
- Mockito.when(cmd.getZoneId()).thenReturn(1L);
+ ListGuestNetworkIpv6PrefixesCmd cmd = createMockListGuestNetworkIpv6PrefixesCmd(1L);
+ Mockito.when(cmd.getId()).thenReturn(1L);
Mockito.when(_zoneDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterVO.class));
Mockito.when(dataCenterGuestIpv6PrefixDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterGuestIpv6PrefixVO.class));
Mockito.when(dataCenterGuestIpv6PrefixDao.listByDataCenterId(Mockito.anyLong())).thenReturn(List.of(Mockito.mock(DataCenterGuestIpv6PrefixVO.class), Mockito.mock(DataCenterGuestIpv6PrefixVO.class)));
Mockito.when(dataCenterGuestIpv6PrefixDao.listAll()).thenReturn(List.of(Mockito.mock(DataCenterGuestIpv6PrefixVO.class), Mockito.mock(DataCenterGuestIpv6PrefixVO.class), Mockito.mock(DataCenterGuestIpv6PrefixVO.class)));
List<? extends DataCenterGuestIpv6Prefix> prefixes = configurationMgr.listDataCenterGuestIpv6Prefixes(cmd);
Assert.assertEquals(1, prefixes.size());
ListGuestNetworkIpv6PrefixesCmd cmd1 = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd1.getId()).thenReturn(null);
Mockito.when(cmd1.getZoneId()).thenReturn(1L);
prefixes = configurationMgr.listDataCenterGuestIpv6Prefixes(cmd1);
Assert.assertEquals(2, prefixes.size());
ListGuestNetworkIpv6PrefixesCmd cmd2 = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd2.getId()).thenReturn(null);
Mockito.when(cmd2.getZoneId()).thenReturn(null);
prefixes = configurationMgr.listDataCenterGuestIpv6Prefixes(cmd2);
Assert.assertEquals(3, prefixes.size());
}
@@
Original Test Code (click to expand)
@Test
public void testListDataCenterGuestIpv6Prefixes() {
ListGuestNetworkIpv6PrefixesCmd cmd = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd.getId()).thenReturn(1L);
Mockito.when(cmd.getZoneId()).thenReturn(1L);
Mockito.when(_zoneDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterVO.class));
Mockito.when(dataCenterGuestIpv6PrefixDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterGuestIpv6PrefixVO.class));
Mockito.when(dataCenterGuestIpv6PrefixDao.listByDataCenterId(Mockito.anyLong())).thenReturn(List.of(Mockito.mock(DataCenterGuestIpv6PrefixVO.class), Mockito.mock(DataCenterGuestIpv6PrefixVO.class)));
Mockito.when(dataCenterGuestIpv6PrefixDao.listAll()).thenReturn(List.of(Mockito.mock(DataCenterGuestIpv6PrefixVO.class), Mockito.mock(DataCenterGuestIpv6PrefixVO.class), Mockito.mock(DataCenterGuestIpv6PrefixVO.class)));
List<? extends DataCenterGuestIpv6Prefix> prefixes = configurationMgr.listDataCenterGuestIpv6Prefixes(cmd);
Assert.assertEquals(1, prefixes.size());
ListGuestNetworkIpv6PrefixesCmd cmd1 = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd1.getId()).thenReturn(null);
Mockito.when(cmd1.getZoneId()).thenReturn(1L);
prefixes = configurationMgr.listDataCenterGuestIpv6Prefixes(cmd1);
Assert.assertEquals(2, prefixes.size());
ListGuestNetworkIpv6PrefixesCmd cmd2 = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd2.getId()).thenReturn(null);
Mockito.when(cmd2.getZoneId()).thenReturn(null);
prefixes = configurationMgr.listDataCenterGuestIpv6Prefixes(cmd2);
Assert.assertEquals(3, prefixes.size());
}
Reusable Method for MCI (click to expand)
private static ListGuestNetworkIpv6PrefixesCmd createMockListGuestNetworkIpv6PrefixesCmd(long zoneIdReturn) {
ListGuestNetworkIpv6PrefixesCmd cmd = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd.getZoneId()).thenReturn(zoneIdReturn);
return cmd;
}
Test Case ID #cloudstack_Test_222_2
Test Case Name: testListDataCenterGuestIpv6Prefixes(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\configuration\ConfigurationManagerTest.java)
Mock Object Variable Name: cmd1
Suggested Diff
@@
Assert.assertEquals(1, prefixes.size());
- ListGuestNetworkIpv6PrefixesCmd cmd1 = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
- Mockito.when(cmd1.getId()).thenReturn(null);
- Mockito.when(cmd1.getZoneId()).thenReturn(1L);
+ ListGuestNetworkIpv6PrefixesCmd cmd1 = createMockListGuestNetworkIpv6PrefixesCmd(1L);
+ Mockito.when(cmd1.getId()).thenReturn(null);
prefixes = configurationMgr.listDataCenterGuestIpv6Prefixes(cmd1);
Assert.assertEquals(2, prefixes.size());
@@
Original Test Code (click to expand)
@Test
public void testListDataCenterGuestIpv6Prefixes() {
ListGuestNetworkIpv6PrefixesCmd cmd = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd.getId()).thenReturn(1L);
Mockito.when(cmd.getZoneId()).thenReturn(1L);
Mockito.when(_zoneDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterVO.class));
Mockito.when(dataCenterGuestIpv6PrefixDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(DataCenterGuestIpv6PrefixVO.class));
Mockito.when(dataCenterGuestIpv6PrefixDao.listByDataCenterId(Mockito.anyLong())).thenReturn(List.of(Mockito.mock(DataCenterGuestIpv6PrefixVO.class), Mockito.mock(DataCenterGuestIpv6PrefixVO.class)));
Mockito.when(dataCenterGuestIpv6PrefixDao.listAll()).thenReturn(List.of(Mockito.mock(DataCenterGuestIpv6PrefixVO.class), Mockito.mock(DataCenterGuestIpv6PrefixVO.class), Mockito.mock(DataCenterGuestIpv6PrefixVO.class)));
List<? extends DataCenterGuestIpv6Prefix> prefixes = configurationMgr.listDataCenterGuestIpv6Prefixes(cmd);
Assert.assertEquals(1, prefixes.size());
ListGuestNetworkIpv6PrefixesCmd cmd1 = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd1.getId()).thenReturn(null);
Mockito.when(cmd1.getZoneId()).thenReturn(1L);
prefixes = configurationMgr.listDataCenterGuestIpv6Prefixes(cmd1);
Assert.assertEquals(2, prefixes.size());
ListGuestNetworkIpv6PrefixesCmd cmd2 = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd2.getId()).thenReturn(null);
Mockito.when(cmd2.getZoneId()).thenReturn(null);
prefixes = configurationMgr.listDataCenterGuestIpv6Prefixes(cmd2);
Assert.assertEquals(3, prefixes.size());
}
Reusable Method for MCI (click to expand)
private static ListGuestNetworkIpv6PrefixesCmd createMockListGuestNetworkIpv6PrefixesCmd(long zoneIdReturn) {
ListGuestNetworkIpv6PrefixesCmd cmd = Mockito.mock(ListGuestNetworkIpv6PrefixesCmd.class);
Mockito.when(cmd.getZoneId()).thenReturn(zoneIdReturn);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_223
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.user.vm.ResetVMUserDataCmd
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static ResetVMUserDataCmd createMockResetVMUserDataCmd(long idReturn) {
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(idReturn);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_223_1
Test Case Name: testResetVMUserDataVMStateNotStopped(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
- ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
- when(cmd.getId()).thenReturn(1L);
+ ResetVMUserDataCmd cmd = createMockResetVMUserDataCmd(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVoMock);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(userVmVoMock.getTemplateId()).thenReturn(2L);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(userVmVoMock.getState()).thenReturn(VirtualMachine.State.Running);
try {
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
@PrepareForTest(CallContext.class)
public void testResetVMUserDataVMStateNotStopped() {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVoMock);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(userVmVoMock.getTemplateId()).thenReturn(2L);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(userVmVoMock.getState()).thenReturn(VirtualMachine.State.Running);
try {
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
}
Reusable Method for MCI (click to expand)
private static ResetVMUserDataCmd createMockResetVMUserDataCmd(long idReturn) {
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(idReturn);
return cmd;
}
Test Case ID #cloudstack_Test_223_2
Test Case Name: testResetVMUserDataDontAcceptBothUserdataAndUserdataId(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
- ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
- when(cmd.getId()).thenReturn(1L);
+ ResetVMUserDataCmd cmd = createMockResetVMUserDataCmd(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVoMock);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(userVmVoMock.getTemplateId()).thenReturn(2L);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(userVmVoMock.getState()).thenReturn(VirtualMachine.State.Stopped);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getUserdataId()).thenReturn(1L);
try {
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
@PrepareForTest(CallContext.class)
public void testResetVMUserDataDontAcceptBothUserdataAndUserdataId() {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVoMock);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(userVmVoMock.getTemplateId()).thenReturn(2L);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(userVmVoMock.getState()).thenReturn(VirtualMachine.State.Stopped);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getUserdataId()).thenReturn(1L);
try {
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
}
Reusable Method for MCI (click to expand)
private static ResetVMUserDataCmd createMockResetVMUserDataCmd(long idReturn) {
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(idReturn);
return cmd;
}
Test Case ID #cloudstack_Test_223_3
Test Case Name: testResetVMUserDataSuccessResetWithUserdata(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
userVmVO.setUserDataId(100L);
userVmVO.setUserData("RandomUserdata");
- ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
- when(cmd.getId()).thenReturn(1L);
+ ResetVMUserDataCmd cmd = createMockResetVMUserDataCmd(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVO);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(template.getUserDataId()).thenReturn(null);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getUserdataId()).thenReturn(null);
when(cmd.getHttpMethod()).thenReturn(HTTPMethod.GET);
try {
doNothing().when(userVmManagerImpl).updateUserData(userVmVO);
userVmManagerImpl.resetVMUserData(cmd);
@@
Original Test Code (click to expand)
@Test
@PrepareForTest(CallContext.class)
public void testResetVMUserDataSuccessResetWithUserdata() {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
UserVmVO userVmVO = new UserVmVO();
userVmVO.setTemplateId(2L);
userVmVO.setState(VirtualMachine.State.Stopped);
userVmVO.setUserDataId(100L);
userVmVO.setUserData("RandomUserdata");
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVO);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(template.getUserDataId()).thenReturn(null);
when(cmd.getUserData()).thenReturn("testUserdata");
when(cmd.getUserdataId()).thenReturn(null);
when(cmd.getHttpMethod()).thenReturn(HTTPMethod.GET);
try {
doNothing().when(userVmManagerImpl).updateUserData(userVmVO);
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
Assert.assertEquals("testUserdata", userVmVO.getUserData());
Assert.assertEquals(null, userVmVO.getUserDataId());
}
Reusable Method for MCI (click to expand)
private static ResetVMUserDataCmd createMockResetVMUserDataCmd(long idReturn) {
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(idReturn);
return cmd;
}
Test Case ID #cloudstack_Test_223_4
Test Case Name: testResetVMUserDataSuccessResetWithUserdataId(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\vm\UserVmManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
userVmVO.setUserData("RandomUserdata");
- ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
- when(cmd.getId()).thenReturn(1L);
+ ResetVMUserDataCmd cmd = createMockResetVMUserDataCmd(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVO);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(template.getUserDataId()).thenReturn(null);
when(cmd.getUserdataId()).thenReturn(1L);
UserDataVO apiUserDataVO = Mockito.mock(UserDataVO.class);
when(userDataDao.findById(1L)).thenReturn(apiUserDataVO);
when(apiUserDataVO.getUserData()).thenReturn("testUserdata");
when(cmd.getHttpMethod()).thenReturn(HTTPMethod.GET);
@@
Original Test Code (click to expand)
@Test
@PrepareForTest(CallContext.class)
public void testResetVMUserDataSuccessResetWithUserdataId() {
CallContext callContextMock = Mockito.mock(CallContext.class);
Mockito.lenient().doReturn(accountMock).when(callContextMock).getCallingAccount();
UserVmVO userVmVO = new UserVmVO();
userVmVO.setTemplateId(2L);
userVmVO.setState(VirtualMachine.State.Stopped);
userVmVO.setUserDataId(100L);
userVmVO.setUserData("RandomUserdata");
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(1L);
when(userVmDao.findById(1L)).thenReturn(userVmVO);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(templateDao.findByIdIncludingRemoved(2L)).thenReturn(template);
when(template.getUserDataId()).thenReturn(null);
when(cmd.getUserdataId()).thenReturn(1L);
UserDataVO apiUserDataVO = Mockito.mock(UserDataVO.class);
when(userDataDao.findById(1L)).thenReturn(apiUserDataVO);
when(apiUserDataVO.getUserData()).thenReturn("testUserdata");
when(cmd.getHttpMethod()).thenReturn(HTTPMethod.GET);
try {
doNothing().when(userVmManagerImpl).updateUserData(userVmVO);
userVmManagerImpl.resetVMUserData(cmd);
} catch (ResourceUnavailableException e) {
throw new RuntimeException(e);
} catch (InsufficientCapacityException e) {
throw new RuntimeException(e);
}
Assert.assertEquals("testUserdata", userVmVO.getUserData());
Assert.assertEquals(1L, (long) userVmVO.getUserDataId());
}
Reusable Method for MCI (click to expand)
private static ResetVMUserDataCmd createMockResetVMUserDataCmd(long idReturn) {
ResetVMUserDataCmd cmd = Mockito.mock(ResetVMUserDataCmd.class);
when(cmd.getId()).thenReturn(idReturn);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_224
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.VirtualMachineTO
- Test Case Count: 6
- MO Count: 6
Reusable Method
private static VirtualMachineTO createMockVirtualMachineTO(String nameReturn) {
VirtualMachineTO mockVm = Mockito.mock(VirtualMachineTO.class);
when(mockVm.getName()).thenReturn(nameReturn);
return mockVm;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_224_1
Test Case Name: testMigrateWithStorageCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(vmName);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
@@
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
- when(vmSpec.getName()).thenReturn(vmName);
- when(vmSpec.getNics()).thenReturn(nicTOs);
+ when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final Map<VolumeTO, StorageFilerTO> volumeToFiler = new HashMap<VolumeTO, StorageFilerTO>();
volumeToFiler.put(vol1, storage1);
volumeToFiler.put(vol2, storage2);
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network networkForSm = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final MigrateWithStorageCommand migrateStorageCommand = new MigrateWithStorageCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(vol1.getPath()).thenReturn(path);
when(vol2.getPath()).thenReturn(path);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
when(xenServer610Resource.getVDIbyUuid(conn, storage1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, storage2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(networkForSm);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).prepareISO(conn, vmName, null, null);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(String nameReturn) {
VirtualMachineTO mockVm = Mockito.mock(VirtualMachineTO.class);
when(mockVm.getName()).thenReturn(nameReturn);
return mockVm;
}
Test Case ID #cloudstack_Test_224_2
Test Case Name: testMigrateWithStorageReceiveCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final Connection conn = Mockito.mock(Connection.class);
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(vmName);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
@@
when(xenServer610Resource.getConnection()).thenReturn(conn);
- when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageReceiveCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO vol1 = Mockito.mock(VolumeTO.class);
final VolumeTO vol2 = Mockito.mock(VolumeTO.class);
final StorageFilerTO storage1 = Mockito.mock(StorageFilerTO.class);
final StorageFilerTO storage2 = Mockito.mock(StorageFilerTO.class);
final List<Pair<VolumeTO, String>> volumeToFiler = new ArrayList<>();
volumeToFiler.add(new Pair<>(vol1, storage1.getPath()));
volumeToFiler.add(new Pair<>(vol2, storage2.getPath()));
final NicTO nicTO1 = Mockito.mock(NicTO.class);
final NicTO nicTO2 = Mockito.mock(NicTO.class);
final NicTO nicTO3 = Mockito.mock(NicTO.class);
final NicTO[] nicTOs = { nicTO1, nicTO2, nicTO3 };
final XsLocalNetwork nativeNetworkForTraffic = Mockito.mock(XsLocalNetwork.class);
final Network network = Mockito.mock(Network.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final Network nw1 = Mockito.mock(Network.class);
final Network nw2 = Mockito.mock(Network.class);
final Network nw3 = Mockito.mock(Network.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final MigrateWithStorageReceiveCommand migrateStorageCommand = new MigrateWithStorageReceiveCommand(vmSpec, volumeToFiler);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getNics()).thenReturn(nicTOs);
when(storage1.getUuid()).thenReturn(uuid);
when(storage2.getUuid()).thenReturn(uuid);
when(xenServer610Resource.getStorageRepository(conn, storage1.getUuid())).thenReturn(sr1);
when(xenServer610Resource.getStorageRepository(conn, storage2.getUuid())).thenReturn(sr2);
try {
when(xenServer610Resource.getNetwork(conn, nicTO1)).thenReturn(nw1);
when(xenServer610Resource.getNetwork(conn, nicTO2)).thenReturn(nw2);
when(xenServer610Resource.getNetwork(conn, nicTO3)).thenReturn(nw3);
when(xenServer610Resource.getNativeNetworkForTraffic(conn, TrafficType.Storage, null)).thenReturn(nativeNetworkForTraffic);
when(nativeNetworkForTraffic.getNetwork()).thenReturn(network);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO1);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO2);
verify(xenServer610Resource, times(1)).getNetwork(conn, nicTO3);
verify(xenServer610Resource, times(1)).getNativeNetworkForTraffic(conn, TrafficType.Storage, null);
verify(nativeNetworkForTraffic, times(1)).getNetwork();
verify(xenServer610Resource, times(1)).getHost();
verify(xsHost, times(1)).getUuid();
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(String nameReturn) {
VirtualMachineTO mockVm = Mockito.mock(VirtualMachineTO.class);
when(mockVm.getName()).thenReturn(nameReturn);
return mockVm;
}
Test Case ID #cloudstack_Test_224_3
Test Case Name: testMigrateWithStorageSendCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
final String path = "/";
final String mac = "3c:15:c2:c4:4f:18";
final Connection conn = Mockito.mock(Connection.class);
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(vmName);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
final Network network1 = Mockito.mock(Network.class);
final Network network2 = Mockito.mock(Network.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, network1));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, network2));
final Map<String, String> token = new HashMap<String, String>();
final VIF vif1 = Mockito.mock(VIF.class);
final VIF vif2 = Mockito.mock(VIF.class);
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
- when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(nic1.getMac()).thenReturn(mac);
when(nic2.getMac()).thenReturn(mac);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getVifByMac(conn, null, nic1.getMac())).thenReturn(vif1);
when(xenServer610Resource.getVifByMac(conn, null, nic2.getMac())).thenReturn(vif2);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(2)).getVDIbyUuid(conn, volume1.getPath());
verify(xenServer610Resource, times(2)).getVifByMac(conn, null, nic1.getMac());
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommand() {
final String vmName = "small";
final String path = "/";
final String mac = "3c:15:c2:c4:4f:18";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
final Network network1 = Mockito.mock(Network.class);
final Network network2 = Mockito.mock(Network.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, network1));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, network2));
final Map<String, String> token = new HashMap<String, String>();
final VIF vif1 = Mockito.mock(VIF.class);
final VIF vif2 = Mockito.mock(VIF.class);
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(nic1.getMac()).thenReturn(mac);
when(nic2.getMac()).thenReturn(mac);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
try {
when(xenServer610Resource.getVifByMac(conn, null, nic1.getMac())).thenReturn(vif1);
when(xenServer610Resource.getVifByMac(conn, null, nic2.getMac())).thenReturn(vif2);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
try {
verify(xenServer610Resource, times(2)).getVDIbyUuid(conn, volume1.getPath());
verify(xenServer610Resource, times(2)).getVifByMac(conn, null, nic1.getMac());
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(String nameReturn) {
VirtualMachineTO mockVm = Mockito.mock(VirtualMachineTO.class);
when(mockVm.getName()).thenReturn(nameReturn);
return mockVm;
}
Test Case ID #cloudstack_Test_224_4
Test Case Name: testMigrateWithStorageSendCommandSRException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
final String vmName = "small";
final Connection conn = Mockito.mock(Connection.class);
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(vmName);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, new String("a")));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, new String("b")));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
- when(vmSpec.getName()).thenReturn(vmName);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommandSRException() {
final String vmName = "small";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, new String("a")));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, new String("b")));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(String nameReturn) {
VirtualMachineTO mockVm = Mockito.mock(VirtualMachineTO.class);
when(mockVm.getName()).thenReturn(nameReturn);
return mockVm;
}
Test Case ID #cloudstack_Test_224_5
Test Case Name: testMigrateWithStorageSendCommandNetException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
final Connection conn = Mockito.mock(Connection.class);
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(vmName);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
Gson gson = new Gson();
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, new String("a")));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, new String("b")));
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
- when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageSendCommandNetException() {
final String vmName = "small";
final String path = "/";
final Connection conn = Mockito.mock(Connection.class);
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final VolumeTO volume1 = Mockito.mock(VolumeTO.class);
final VolumeTO volume2 = Mockito.mock(VolumeTO.class);
final SR sr1 = Mockito.mock(SR.class);
final SR sr2 = Mockito.mock(SR.class);
final VDI vdi1 = Mockito.mock(VDI.class);
final VDI vdi2 = Mockito.mock(VDI.class);
final NicTO nic1 = Mockito.mock(NicTO.class);
final NicTO nic2 = Mockito.mock(NicTO.class);
Gson gson = new Gson();
final List<Pair<VolumeTO, Object>> volumeToSr = new ArrayList<Pair<VolumeTO, Object>>();
volumeToSr.add(new Pair<VolumeTO, Object>(volume1, sr1));
volumeToSr.add(new Pair<VolumeTO, Object>(volume2, sr2));
final List<Pair<NicTO, Object>> nicToNetwork = new ArrayList<Pair<NicTO, Object>>();
nicToNetwork.add(new Pair<NicTO, Object>(nic1, new String("a")));
nicToNetwork.add(new Pair<NicTO, Object>(nic2, new String("b")));
final Map<String, String> token = new HashMap<String, String>();
final MigrateWithStorageSendCommand migrateStorageCommand = new MigrateWithStorageSendCommand(vmSpec, volumeToSr, nicToNetwork, token);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vmSpec.getName()).thenReturn(vmName);
when(volume1.getPath()).thenReturn(path);
when(volume2.getPath()).thenReturn(path);
when(xenServer610Resource.getVDIbyUuid(conn, volume1.getPath())).thenReturn(vdi1);
when(xenServer610Resource.getVDIbyUuid(conn, volume2.getPath())).thenReturn(vdi2);
final Answer answer = wrapper.execute(migrateStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(String nameReturn) {
VirtualMachineTO mockVm = Mockito.mock(VirtualMachineTO.class);
when(mockVm.getName()).thenReturn(nameReturn);
return mockVm;
}
Test Case ID #cloudstack_Test_224_6
Test Case Name: testMigrateWithStorageCompleteCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\XenServer610WrapperTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final Connection conn = Mockito.mock(Connection.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
- final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vm = createMockVirtualMachineTO(vmName);
final MigrateWithStorageCompleteCommand createStorageCommand = new MigrateWithStorageCompleteCommand(vm);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
- when(vm.getName()).thenReturn(vmName);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
final Answer answer = wrapper.execute(createStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithStorageCompleteCommand() {
final String vmName = "small";
final String uuid = "206b21a7-c6ec-40e2-b5e2-f861b9612f04";
final Connection conn = Mockito.mock(Connection.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final MigrateWithStorageCompleteCommand createStorageCommand = new MigrateWithStorageCompleteCommand(vm);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(xenServer610Resource.getConnection()).thenReturn(conn);
when(vm.getName()).thenReturn(vmName);
when(xenServer610Resource.getHost()).thenReturn(xsHost);
when(xsHost.getUuid()).thenReturn(uuid);
final Answer answer = wrapper.execute(createStorageCommand, xenServer610Resource);
verify(xenServer610Resource, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(String nameReturn) {
VirtualMachineTO mockVm = Mockito.mock(VirtualMachineTO.class);
when(mockVm.getName()).thenReturn(nameReturn);
return mockVm;
}
Mock Clone Instance #cloudstack_MCI_225
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.VirtualMachineTO
- Test Case Count: 4
- MO Count: 4
Reusable Method
private VirtualMachineTO machineTO;
@BeforeEach
public void setUp() {
machineTO = Mockito.mock(VirtualMachineTO.class);
}
machineTO;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_225_1
Mock Object Variable Name: machineTO
Suggested Diff
@@
@Test
public void testPrepareForMigrationCommand() {
- final VirtualMachineTO machineTO = Mockito.mock(VirtualMachineTO.class);
+ // removed local mock; replaced with global field `machineTO`
final PrepareForMigrationCommand prepareCommand = new PrepareForMigrationCommand(machineTO);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(prepareCommand, citrixResourceBase);
verify(citrixResourceBase, times(1)).getConnection();
assertFalse(answer.getResult());
}
Original Test Code (click to expand)
@Test
public void testPrepareForMigrationCommand() {
final VirtualMachineTO machineTO = Mockito.mock(VirtualMachineTO.class);
final PrepareForMigrationCommand prepareCommand = new PrepareForMigrationCommand(machineTO);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(prepareCommand, citrixResourceBase);
verify(citrixResourceBase, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private VirtualMachineTO machineTO;
@BeforeEach
public void setUp() {
machineTO = Mockito.mock(VirtualMachineTO.class);
}
machineTO;
Test Case ID #cloudstack_Test_225_2
Test Case Name: testMigrateCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\CitrixRequestWrapperTest.java)
Mock Object Variable Name: machineTO
Suggested Diff
@@
@Test
public void testMigrateCommand() {
- final VirtualMachineTO machineTO = Mockito.mock(VirtualMachineTO.class);
+ // removed local mock; replaced with global field `machineTO`
final MigrateCommand migrateCommand = new MigrateCommand("Test", "127.0.0.1", false, machineTO, false);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(migrateCommand, citrixResourceBase);
verify(citrixResourceBase, times(1)).getConnection();
assertFalse(answer.getResult());
}
Original Test Code (click to expand)
@Test
public void testMigrateCommand() {
final VirtualMachineTO machineTO = Mockito.mock(VirtualMachineTO.class);
final MigrateCommand migrateCommand = new MigrateCommand("Test", "127.0.0.1", false, machineTO, false);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(migrateCommand, citrixResourceBase);
verify(citrixResourceBase, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private VirtualMachineTO machineTO;
@BeforeEach
public void setUp() {
machineTO = Mockito.mock(VirtualMachineTO.class);
}
machineTO;
Test Case ID #cloudstack_Test_225_3
Test Case Name: testStartCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\CitrixRequestWrapperTest.java)
Mock Object Variable Name: vm
Suggested Diff
@@
@Test
public void testStartCommand() {
- final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
+ // removed local mock; replaced with global field `machineTO`
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
- final StartCommand startCommand = new StartCommand(vm, host, false);
+ final StartCommand startCommand = new StartCommand(machineTO, host, false);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(startCommand, citrixResourceBase);
verify(citrixResourceBase, times(1)).getConnection();
assertFalse(answer.getResult());
}
Original Test Code (click to expand)
@Test
public void testStartCommand() {
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final StartCommand startCommand = new StartCommand(vm, host, false);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(startCommand, citrixResourceBase);
verify(citrixResourceBase, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private VirtualMachineTO machineTO;
@BeforeEach
public void setUp() {
machineTO = Mockito.mock(VirtualMachineTO.class);
}
machineTO;
Test Case ID #cloudstack_Test_225_4
Test Case Name: testScaleVmCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\xenserver\src\test\java\com\cloud\hypervisor\xenserver\resource\wrapper\xenbase\CitrixRequestWrapperTest.java)
Mock Object Variable Name: machineTO
Suggested Diff
@@
@Test
public void testScaleVmCommand() {
final String uuid = "6172d8b7-ba10-4a70-93f9-ecaf41f51d53";
- final VirtualMachineTO machineTO = Mockito.mock(VirtualMachineTO.class);
+ // removed local mock; replaced with global field `machineTO`
final Connection conn = Mockito.mock(Connection.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final Host host = Mockito.mock(Host.class);
final ScaleVmCommand scaleVm = new ScaleVmCommand(machineTO);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(citrixResourceBase.getConnection()).thenReturn(conn);
when(citrixResourceBase.getHost()).thenReturn(xsHost);
when(citrixResourceBase.getHost().getUuid()).thenReturn(uuid);
try {
when(citrixResourceBase.isDmcEnabled(conn, host)).thenReturn(true);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(scaleVm, citrixResourceBase);
verify(citrixResourceBase, times(1)).getConnection();
assertFalse(answer.getResult());
}
Original Test Code (click to expand)
@Test
public void testScaleVmCommand() {
final String uuid = "6172d8b7-ba10-4a70-93f9-ecaf41f51d53";
final VirtualMachineTO machineTO = Mockito.mock(VirtualMachineTO.class);
final Connection conn = Mockito.mock(Connection.class);
final XsHost xsHost = Mockito.mock(XsHost.class);
final Host host = Mockito.mock(Host.class);
final ScaleVmCommand scaleVm = new ScaleVmCommand(machineTO);
final CitrixRequestWrapper wrapper = CitrixRequestWrapper.getInstance();
assertNotNull(wrapper);
when(citrixResourceBase.getConnection()).thenReturn(conn);
when(citrixResourceBase.getHost()).thenReturn(xsHost);
when(citrixResourceBase.getHost().getUuid()).thenReturn(uuid);
try {
when(citrixResourceBase.isDmcEnabled(conn, host)).thenReturn(true);
} catch (final XenAPIException e) {
fail(e.getMessage());
} catch (final XmlRpcException e) {
fail(e.getMessage());
}
final Answer answer = wrapper.execute(scaleVm, citrixResourceBase);
verify(citrixResourceBase, times(1)).getConnection();
assertFalse(answer.getResult());
}
Reusable Method for MCI (click to expand)
private VirtualMachineTO machineTO;
@BeforeEach
public void setUp() {
machineTO = Mockito.mock(VirtualMachineTO.class);
}
machineTO;
Mock Clone Instance #cloudstack_MCI_226
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.VirtualMachineTO
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static VirtualMachineTO createMockVirtualMachineTO() {
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
return to;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_226_1
Test Case Name: testMigrateWithinClusterSuccess(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: to
Suggested Diff
@@
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
- VirtualMachineTO to = mock(VirtualMachineTO.class);
- when(to.getId()).thenReturn(6L);
+ VirtualMachineTO to = createMockVirtualMachineTO();
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithinClusterSuccess() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(1L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(true);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertTrue("Migration within cluster isn't successful.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO() {
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
return to;
}
Test Case ID #cloudstack_Test_226_2
Test Case Name: testMigrateWithinClusterFailure(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: to
Suggested Diff
@@
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
- VirtualMachineTO to = mock(VirtualMachineTO.class);
- when(to.getId()).thenReturn(6L);
+ VirtualMachineTO to = createMockVirtualMachineTO();
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
@@
Original Test Code (click to expand)
@Test
public void testMigrateWithinClusterFailure() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(1L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(false);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertFalse("Migration within cluster didn't fail.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO() {
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
return to;
}
Test Case ID #cloudstack_Test_226_3
Test Case Name: testMigrateAcrossClusterSuccess(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: to
Suggested Diff
@@
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
- VirtualMachineTO to = mock(VirtualMachineTO.class);
- when(to.getId()).thenReturn(6L);
+ VirtualMachineTO to = createMockVirtualMachineTO();
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
@@
Original Test Code (click to expand)
@Test
public void testMigrateAcrossClusterSuccess() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(2L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(true);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertTrue("Migration across cluster isn't successful.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO() {
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
return to;
}
Test Case ID #cloudstack_Test_226_4
Test Case Name: testMigrateAcrossClusterFailure(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\org\apache\cloudstack\storage\motion\VmwareStorageMotionStrategyTest.java)
Mock Object Variable Name: to
Suggested Diff
@@
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
- VirtualMachineTO to = mock(VirtualMachineTO.class);
- when(to.getId()).thenReturn(6L);
+ VirtualMachineTO to = createMockVirtualMachineTO();
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
@@
Original Test Code (click to expand)
@Test
public void testMigrateAcrossClusterFailure() throws Exception {
Host srcHost = mock(Host.class);
Host destHost = mock(Host.class);
when(srcHost.getClusterId()).thenReturn(1L);
when(destHost.getClusterId()).thenReturn(2L);
Map<VolumeInfo, DataStore> volumeMap = new HashMap<VolumeInfo, DataStore>();
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
VMInstanceVO instance = mock(VMInstanceVO.class);
when(instanceDao.findById(6L)).thenReturn(instance);
MockContext<CommandResult> context = new MockContext<CommandResult>(null, null, volumeMap);
AsyncCallbackDispatcher<VmwareStorageMotionStrategyTest, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
caller.setCallback(caller.getTarget().mockCallBack(null, null)).setContext(context);
MigrateWithStorageAnswer migAnswerMock = mock(MigrateWithStorageAnswer.class);
when(migAnswerMock.getResult()).thenReturn(false);
when(agentMgr.send(anyLong(), isA(MigrateWithStorageCommand.class))).thenReturn(migAnswerMock);
strategy.copyAsync(volumeMap, to, srcHost, destHost, caller);
assertFalse("Migration across cluster didn't fail.", result.isSuccess());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO() {
VirtualMachineTO to = mock(VirtualMachineTO.class);
when(to.getId()).thenReturn(6L);
return to;
}
Mock Clone Instance #cloudstack_MCI_227
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.VirtualMachineTO
- Test Case Count: 7
- MO Count: 7
Reusable Method
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics, VirtualMachine.Type type, String name) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(type);
when(vmSpec.getName()).thenReturn(name);
return vmSpec;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_227_1
Test Case Name: testStartCommandFailedConnect(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
public void testStartCommandFailedConnect() {
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(nics, VirtualMachine.Type.DomainRouter, vmName);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
- when(vmSpec.getNics()).thenReturn(nics);
- when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
- when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(false);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
@@
Original Test Code (click to expand)
@Test
public void testStartCommandFailedConnect() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(false);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics, VirtualMachine.Type type, String name) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(type);
when(vmSpec.getName()).thenReturn(name);
return vmSpec;
}
Test Case ID #cloudstack_Test_227_2
Test Case Name: testStartCommandLibvirtException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
@Test
public void testStartCommandLibvirtException() {
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(nics, VirtualMachine.Type.DomainRouter, vmName);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
- when(vmSpec.getNics()).thenReturn(nics);
- when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
- when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testStartCommandLibvirtException() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics, VirtualMachine.Type type, String name) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(type);
when(vmSpec.getName()).thenReturn(name);
return vmSpec;
}
Test Case ID #cloudstack_Test_227_3
Test Case Name: testStartCommandInternalError(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
@Test
public void testStartCommandInternalError() {
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(nics, VirtualMachine.Type.DomainRouter, vmName);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
- when(vmSpec.getNics()).thenReturn(nics);
- when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
- when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doThrow(InternalErrorException.class).when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
@@
Original Test Code (click to expand)
@Test
public void testStartCommandInternalError() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doThrow(InternalErrorException.class).when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics, VirtualMachine.Type type, String name) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(type);
when(vmSpec.getName()).thenReturn(name);
return vmSpec;
}
Test Case ID #cloudstack_Test_227_4
Test Case Name: testStartCommandUriException(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
public void testStartCommandUriException() {
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(nics, VirtualMachine.Type.DomainRouter, vmName);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
- when(vmSpec.getNics()).thenReturn(nics);
- when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
- when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doThrow(URISyntaxException.class).when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
@@
Original Test Code (click to expand)
@Test
public void testStartCommandUriException() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
doThrow(URISyntaxException.class).when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics, VirtualMachine.Type type, String name) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(type);
when(vmSpec.getName()).thenReturn(name);
return vmSpec;
}
Test Case ID #cloudstack_Test_227_5
Test Case Name: testStartCommand(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
PowerMockito.mockStatic(SshHelper.class);
PowerMockito.doNothing().when(SshHelper.class, "scpTo", Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.any(File.class), nullable(String.class), Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString());
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(nics, VirtualMachine.Type.DomainRouter, vmName);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final VirtualRoutingResource virtRouterResource = Mockito.mock(VirtualRoutingResource.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final int[] vms = new int[0];
final String vmName = "Test";
final String controlIp = "127.0.0.1";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
- when(vmSpec.getNics()).thenReturn(nics);
- when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
- when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
@@
Original Test Code (click to expand)
@Test
public void testStartCommand() throws Exception {
PowerMockito.mockStatic(SshHelper.class);
PowerMockito.doNothing().when(SshHelper.class, "scpTo", Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.any(File.class), nullable(String.class), Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString());
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final VirtualRoutingResource virtRouterResource = Mockito.mock(VirtualRoutingResource.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final int[] vms = new int[0];
final String vmName = "Test";
final String controlIp = "127.0.0.1";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
try {
doNothing().when(libvirtComputingResourceMock).createVifs(vmSpec, vmDef);
when(libvirtComputingResourceMock.startVM(conn, vmName, vmDef.toString())).thenReturn("SUCCESS");
when(vmSpec.getBootArgs()).thenReturn("ls -lart");
when(libvirtComputingResourceMock.passCmdLine(vmName, vmSpec.getBootArgs())).thenReturn(true);
when(nic.getIp()).thenReturn(controlIp);
when(nic.getType()).thenReturn(TrafficType.Control);
when(libvirtComputingResourceMock.getVirtRouterResource()).thenReturn(virtRouterResource);
when(virtRouterResource.connect(controlIp, 1, 5000)).thenReturn(true);
when(virtRouterResource.isSystemVMSetup(vmName, controlIp)).thenReturn(true);
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics, VirtualMachine.Type type, String name) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(type);
when(vmSpec.getName()).thenReturn(name);
return vmSpec;
}
Test Case ID #cloudstack_Test_227_6
Test Case Name: testStartCommandIsolationEc2(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
PowerMockito.mockStatic(SshHelper.class);
PowerMockito.doNothing().when(SshHelper.class, "scpTo", Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.any(File.class), nullable(String.class), Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString());
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(nics, VirtualMachine.Type.DomainRouter, vmName);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final VirtualRoutingResource virtRouterResource = Mockito.mock(VirtualRoutingResource.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final int[] vms = new int[0];
final String vmName = "Test";
final String controlIp = "127.0.0.1";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
- when(vmSpec.getNics()).thenReturn(nics);
- when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
- when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
@@
Original Test Code (click to expand)
@Test
public void testStartCommandIsolationEc2() throws Exception {
PowerMockito.mockStatic(SshHelper.class);
PowerMockito.doNothing().when(SshHelper.class, "scpTo", Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(), Mockito.any(File.class), nullable(String.class), Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString());
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final VirtualRoutingResource virtRouterResource = Mockito.mock(VirtualRoutingResource.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
final int[] vms = new int[0];
final String vmName = "Test";
final String controlIp = "127.0.0.1";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.DomainRouter);
when(vmSpec.getName()).thenReturn(vmName);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
try {
doNothing().when(libvirtComputingResourceMock).createVifs(vmSpec, vmDef);
when(libvirtComputingResourceMock.startVM(conn, vmName, vmDef.toString())).thenReturn("SUCCESS");
when(nic.isSecurityGroupEnabled()).thenReturn(true);
when(nic.getIsolationUri()).thenReturn(new URI("ec2://test"));
when(vmSpec.getBootArgs()).thenReturn("ls -lart");
when(libvirtComputingResourceMock.passCmdLine(vmName, vmSpec.getBootArgs())).thenReturn(true);
when(nic.getIp()).thenReturn(controlIp);
when(nic.getType()).thenReturn(TrafficType.Control);
when(libvirtComputingResourceMock.getVirtRouterResource()).thenReturn(virtRouterResource);
when(virtRouterResource.connect(controlIp, 1, 5000)).thenReturn(true);
when(virtRouterResource.isSystemVMSetup(vmName, controlIp)).thenReturn(true);
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByType(vmDef.getHvsType());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics, VirtualMachine.Type type, String name) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(type);
when(vmSpec.getName()).thenReturn(name);
return vmSpec;
}
Test Case ID #cloudstack_Test_227_7
Test Case Name: testStartCommandHostMemory(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\kvm\src\test\java\com\cloud\hypervisor\kvm\resource\LibvirtComputingResourceTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
int vmId = 1;
final int[] vms = new int[] { vmId };
final Domain dm = Mockito.mock(Domain.class);
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
- final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
- when(vmSpec.getNics()).thenReturn(nics);
- when(vmSpec.getType()).thenReturn(VirtualMachine.Type.User);
- when(vmSpec.getName()).thenReturn(vmName);
+ final VirtualMachineTO vmSpec = createMockVirtualMachineTO(nics, VirtualMachine.Type.User, vmName);
when(vmSpec.getMaxRam()).thenReturn(512L);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
when(conn.domainLookupByID(vmId)).thenReturn(dm);
when(dm.getMaxMemory()).thenReturn(1024L);
when(dm.getName()).thenReturn(vmName);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
@@
Original Test Code (click to expand)
@Test
public void testStartCommandHostMemory() {
final VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
final com.cloud.host.Host host = Mockito.mock(com.cloud.host.Host.class);
final boolean executeInSequence = false;
final StartCommand command = new StartCommand(vmSpec, host, executeInSequence);
final KVMStoragePoolManager storagePoolMgr = Mockito.mock(KVMStoragePoolManager.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final Connect conn = Mockito.mock(Connect.class);
final LibvirtVMDef vmDef = Mockito.mock(LibvirtVMDef.class);
final NicTO nic = Mockito.mock(NicTO.class);
final NicTO[] nics = new NicTO[] { nic };
int vmId = 1;
final int[] vms = new int[] { vmId };
final Domain dm = Mockito.mock(Domain.class);
final String vmName = "Test";
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolMgr);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(VirtualMachine.Type.User);
when(vmSpec.getName()).thenReturn(vmName);
when(vmSpec.getMaxRam()).thenReturn(512L);
when(libvirtComputingResourceMock.createVMFromSpec(vmSpec)).thenReturn(vmDef);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByType(vmDef.getHvsType())).thenReturn(conn);
when(conn.listDomains()).thenReturn(vms);
when(conn.domainLookupByID(vmId)).thenReturn(dm);
when(dm.getMaxMemory()).thenReturn(1024L);
when(dm.getName()).thenReturn(vmName);
doNothing().when(libvirtComputingResourceMock).createVbd(conn, vmSpec, vmName, vmDef);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final InternalErrorException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
when(storagePoolMgr.connectPhysicalDisksViaVmSpec(vmSpec)).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics, VirtualMachine.Type type, String name) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getNics()).thenReturn(nics);
when(vmSpec.getType()).thenReturn(type);
when(vmSpec.getName()).thenReturn(name);
return vmSpec;
}
Mock Clone Instance #cloudstack_MCI_228
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.VirtualMachineTO
- Test Case Count: 5
- MO Count: 5
Reusable Method
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics) {
VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
when(vm.getNics()).thenReturn(nics);
return vm;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_228_1
Mock Object Variable Name: vm
Suggested Diff
@@
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
- final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO diskTO = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
+ final VirtualMachineTO vm = createMockVirtualMachineTO(new NicTO[] { nicTO });
- when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
@@
Original Test Code (click to expand)
@Test
public void testPrepareForMigrationCommand() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO diskTO = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics) {
VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
when(vm.getNics()).thenReturn(nics);
return vm;
}
Test Case ID #cloudstack_Test_228_2
Mock Object Variable Name: vm
Suggested Diff
@@
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
- final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vm = createMockVirtualMachineTO(new NicTO[] { nicTO });
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO diskTO = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
- when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
when(storagePoolManager.connectPhysicalDisksViaVmSpec(vm)).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
@@
Original Test Code (click to expand)
@Test
public void testPrepareForMigrationCommandMigration() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO diskTO = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
when(storagePoolManager.connectPhysicalDisksViaVmSpec(vm)).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics) {
VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
when(vm.getNics()).thenReturn(nics);
return vm;
}
Test Case ID #cloudstack_Test_228_3
Mock Object Variable Name: vm
Suggested Diff
@@
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
- final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vm = createMockVirtualMachineTO(new NicTO[] { nicTO });
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
- when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testPrepareForMigrationCommandLibvirtException() {
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenThrow(LibvirtException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics) {
VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
when(vm.getNics()).thenReturn(nics);
return vm;
}
Test Case ID #cloudstack_Test_228_4
Mock Object Variable Name: vm
Suggested Diff
@@
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
- final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
+ final VirtualMachineTO vm = createMockVirtualMachineTO(new NicTO[] { nicTO });
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO volume = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
- when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { volume });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(volume.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
try {
when(libvirtComputingResourceMock.getVolumePath(conn, volume)).thenThrow(URISyntaxException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(volume, times(1)).getType();
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testPrepareForMigrationCommandURISyntaxException() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO volume = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { volume });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(volume.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
try {
when(libvirtComputingResourceMock.getVolumePath(conn, volume)).thenThrow(URISyntaxException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(volume, times(1)).getType();
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics) {
VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
when(vm.getNics()).thenReturn(nics);
return vm;
}
Test Case ID #cloudstack_Test_228_5
Mock Object Variable Name: vm
Suggested Diff
@@
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
- final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO volume = Mockito.mock(DiskTO.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
- when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
+ final VirtualMachineTO vm = createMockVirtualMachineTO(new NicTO[] { nicTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
BDDMockito.given(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).willAnswer(invocationOnMock -> {
throw new InternalErrorException("Exception Occurred");
});
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
try {
when(libvirtComputingResourceMock.getVolumePath(conn, volume)).thenReturn("/path");
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testPrepareForMigrationCommandInternalErrorException() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO volume = Mockito.mock(DiskTO.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
BDDMockito.given(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).willAnswer(invocationOnMock -> {
throw new InternalErrorException("Exception Occurred");
});
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
try {
when(libvirtComputingResourceMock.getVolumePath(conn, volume)).thenReturn("/path");
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(NicTO[] nics) {
VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
when(vm.getNics()).thenReturn(nics);
return vm;
}
Mock Clone Instance #cloudstack_MCI_229
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.VirtualMachineTO
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static VirtualMachineTO createMockVirtualMachineTO(Map<String, String> details) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getDetails()).thenReturn(details);
return vmSpec;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_229_1
Test Case Name: testScaleVMF1(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\com\cloud\hypervisor\vmware\resource\VmwareResourceTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
when(hyperHost.findVmOnHyperHost("i-2-3-VM")).thenReturn(vmMo);
- doReturn(536870912L).when(vmSpec).getMinRam();
+ vmSpec = createMockVirtualMachineTO(specsArray);
doReturn(1).when(vmSpec).getCpus();
doReturn(1000).when(vmSpec).getMinSpeed();
doReturn(1000).when(vmSpec).getMaxSpeed();
doReturn(536870912L).when(vmSpec).getMaxRam();
doReturn(false).when(vmSpec).getLimitCpuUse();
when(vmMo.configureVm(vmConfigSpec)).thenReturn(true);
_resource.execute(cmd);
verify(_resource).execute(cmd);
@@
Original Test Code (click to expand)
@Before
public void setup() throws Exception {
MockitoAnnotations.initMocks(this);
storageCmd = PowerMockito.mock(CopyCommand.class);
doReturn(context).when(_resource).getServiceContext(null);
when(cmd.getVirtualMachine()).thenReturn(vmSpec);
when(storageCmd.getSrcTO()).thenReturn(srcDataTO);
when(srcDataTO.getDataStore()).thenReturn(srcDataNfsTO);
when(srcDataNfsTO.getNfsVersion()).thenReturn(NFS_VERSION);
when(videoCard.getVideoRamSizeInKB()).thenReturn(VIDEO_CARD_MEMORY_SIZE);
when(volume.getPath()).thenReturn(VOLUME_PATH);
when(storageCmd.getDestTO()).thenReturn(destDataTO);
when(destDataTO.getHypervisorType()).thenReturn(HypervisorType.VMware);
when(destDataTO.getDataStore()).thenReturn(destDataStoreTO);
when(destDataStoreTO.isFullCloneFlag()).thenReturn(FULL_CLONE_FLAG);
when(volume.getPath()).thenReturn(VOLUME_PATH);
when(vmSpec.getDetails()).thenReturn(specsArray);
when(vmMo.getContext()).thenReturn(context);
when(vmMo.getRunningHost()).thenReturn(host);
when(host.getMor()).thenReturn(hostRef);
when(context.getVimClient()).thenReturn(client);
when(client.getMoRefProp(hostRef, "parent")).thenReturn(computeRef);
when(client.getMoRefProp(computeRef, "environmentBrowser")).thenReturn(envRef);
when(context.getService()).thenReturn(vimService);
when(vimService.queryTargetCapabilities(envRef, hostRef)).thenReturn(hostCapability);
when(hostCapability.isNestedHVSupported()).thenReturn(true);
}
@Test
public void testScaleVMF1() throws Exception {
when(_resource.getHyperHost(context, null)).thenReturn(hyperHost);
doReturn("i-2-3-VM").when(cmd).getVmName();
when(hyperHost.findVmOnHyperHost("i-2-3-VM")).thenReturn(vmMo);
doReturn(536870912L).when(vmSpec).getMinRam();
doReturn(1).when(vmSpec).getCpus();
doReturn(1000).when(vmSpec).getMinSpeed();
doReturn(1000).when(vmSpec).getMaxSpeed();
doReturn(536870912L).when(vmSpec).getMaxRam();
doReturn(false).when(vmSpec).getLimitCpuUse();
when(vmMo.configureVm(vmConfigSpec)).thenReturn(true);
_resource.execute(cmd);
verify(_resource).execute(cmd);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(Map<String, String> details) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getDetails()).thenReturn(details);
return vmSpec;
}
Test Case ID #cloudstack_Test_229_2
Test Case Name: testReplaceNicsMacSequenceInBootArgs(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\com\cloud\hypervisor\vmware\resource\VmwareResourceTest.java)
Mock Object Variable Name: vmSpec
Suggested Diff
@@
@Test
public void testReplaceNicsMacSequenceInBootArgs() {
- doReturn(bootArgs).when(vmSpec).getBootArgs();
+ vmSpec = createMockVirtualMachineTO(specsArray);
+ doReturn(bootArgs).when(vmSpec).getBootArgs();
String oldMacSequence = "7C02:00:35:fa:00:11|7C02:00:47:40:00:12";
String newMacSequence = "7C02:00:0c:1d:00:1d|7C02:00:68:0f:00:1e";
String updatedBootArgs = _resource.replaceNicsMacSequenceInBootArgs(oldMacSequence, newMacSequence, vmSpec);
String newBootArgs = "nic_macs=02:00:65:b5:00:03|7C02:00:4f:1b:00:15|7C1e:00:54:00:00:0f|7C02:00:0c:1d:00:1d|7C02:00:68:0f:00:1e";
assertEquals(newBootArgs, updatedBootArgs);
}
@@
Original Test Code (click to expand)
@Test
public void testReplaceNicsMacSequenceInBootArgs() {
String bootArgs = "nic_macs=02:00:65:b5:00:03|7C02:00:4f:1b:00:15|7C1e:00:54:00:00:0f|7C02:00:35:fa:00:11|7C02:00:47:40:00:12";
doReturn(bootArgs).when(vmSpec).getBootArgs();
String oldMacSequence = "7C02:00:35:fa:00:11|7C02:00:47:40:00:12";
String newMacSequence = "7C02:00:0c:1d:00:1d|7C02:00:68:0f:00:1e";
String updatedBootArgs = _resource.replaceNicsMacSequenceInBootArgs(oldMacSequence, newMacSequence, vmSpec);
String newBootArgs = "nic_macs=02:00:65:b5:00:03|7C02:00:4f:1b:00:15|7C1e:00:54:00:00:0f|7C02:00:0c:1d:00:1d|7C02:00:68:0f:00:1e";
assertEquals(newBootArgs, updatedBootArgs);
}
@Before
public void setup() throws Exception {
MockitoAnnotations.initMocks(this);
storageCmd = PowerMockito.mock(CopyCommand.class);
doReturn(context).when(_resource).getServiceContext(null);
when(cmd.getVirtualMachine()).thenReturn(vmSpec);
when(storageCmd.getSrcTO()).thenReturn(srcDataTO);
when(srcDataTO.getDataStore()).thenReturn(srcDataNfsTO);
when(srcDataNfsTO.getNfsVersion()).thenReturn(NFS_VERSION);
when(videoCard.getVideoRamSizeInKB()).thenReturn(VIDEO_CARD_MEMORY_SIZE);
when(volume.getPath()).thenReturn(VOLUME_PATH);
when(storageCmd.getDestTO()).thenReturn(destDataTO);
when(destDataTO.getHypervisorType()).thenReturn(HypervisorType.VMware);
when(destDataTO.getDataStore()).thenReturn(destDataStoreTO);
when(destDataStoreTO.isFullCloneFlag()).thenReturn(FULL_CLONE_FLAG);
when(volume.getPath()).thenReturn(VOLUME_PATH);
when(vmSpec.getDetails()).thenReturn(specsArray);
when(vmMo.getContext()).thenReturn(context);
when(vmMo.getRunningHost()).thenReturn(host);
when(host.getMor()).thenReturn(hostRef);
when(context.getVimClient()).thenReturn(client);
when(client.getMoRefProp(hostRef, "parent")).thenReturn(computeRef);
when(client.getMoRefProp(computeRef, "environmentBrowser")).thenReturn(envRef);
when(context.getService()).thenReturn(vimService);
when(vimService.queryTargetCapabilities(envRef, hostRef)).thenReturn(hostCapability);
when(hostCapability.isNestedHVSupported()).thenReturn(true);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(Map<String, String> details) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getDetails()).thenReturn(details);
return vmSpec;
}
Test Case ID #cloudstack_Test_229_3
Mock Object Variable Name: vmSpec3dgpu
Suggested Diff
@@
Map<String, String> specDetails = new HashMap<String, String>();
specDetails.put("svga.vramSize", String.valueOf(VRAM_MEMORY_SIZE));
- when(vmSpec3dgpu.getDetails()).thenReturn(specDetails);
+ vmSpec3dgpu = createMockVirtualMachineTO(specDetails);
_resource.configureVideoCard(vmMo3dgpu, vmSpec3dgpu, vmConfigSpec);
verify(_resource).setNewVRamSizeVmVideoCard(vmMo3dgpu, VRAM_MEMORY_SIZE, vmConfigSpec);
}
Original Test Code (click to expand)
@Test
public void testConfigureVideoCardSvgaVramProvided() throws Exception {
Map<String, String> specDetails = new HashMap<String, String>();
specDetails.put("svga.vramSize", String.valueOf(VRAM_MEMORY_SIZE));
when(vmSpec3dgpu.getDetails()).thenReturn(specDetails);
_resource.configureVideoCard(vmMo3dgpu, vmSpec3dgpu, vmConfigSpec);
verify(_resource).setNewVRamSizeVmVideoCard(vmMo3dgpu, VRAM_MEMORY_SIZE, vmConfigSpec);
}
Reusable Method for MCI (click to expand)
private static VirtualMachineTO createMockVirtualMachineTO(Map<String, String> details) {
VirtualMachineTO vmSpec = Mockito.mock(VirtualMachineTO.class);
when(vmSpec.getDetails()).thenReturn(details);
return vmSpec;
}
Mock Clone Instance #cloudstack_MCI_230
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static VolumeInfo createMockVolumeInfoWithState(com.cloud.storage.Volume.State state) {
VolumeInfo volumeInfo = Mockito.mock(VolumeInfo.class);
when(volumeInfo.getState()).thenReturn(state);
return volumeInfo;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_230_1
Test Case Name: testResourceLimitCheckForUploadedVolume(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\storage\VolumeApiServiceImplTest.java)
Mock Object Variable Name: volumeToAttach
Suggested Diff
@@
UserVmVO vm = Mockito.mock(UserVmVO.class);
AccountVO acc = Mockito.mock(AccountVO.class);
- VolumeInfo volumeToAttach = Mockito.mock(VolumeInfo.class);
- lenient().when(volumeToAttach.getId()).thenReturn(9L);
- when(volumeToAttach.getDataCenterId()).thenReturn(34L);
- when(volumeToAttach.getVolumeType()).thenReturn(Volume.Type.DATADISK);
- when(volumeToAttach.getInstanceId()).thenReturn(null);
- when(volumeToAttach.getAccountId()).thenReturn(3L);
+ VolumeInfo volumeToAttach = createMockVolumeInfoWithState(Volume.State.Uploaded);
+ lenient().when(volumeToAttach.getId()).thenReturn(9L);
+ when(volumeToAttach.getDataCenterId()).thenReturn(34L);
+ when(volumeToAttach.getVolumeType()).thenReturn(Volume.Type.DATADISK);
+ when(volumeToAttach.getInstanceId()).thenReturn(null);
+ when(volumeToAttach.getAccountId()).thenReturn(3L);
when(_accountDao.findById(anyLong())).thenReturn(acc);
when(userVmDaoMock.findById(anyLong())).thenReturn(vm);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(vm.getState()).thenReturn(State.Running);
when(vm.getDataCenterId()).thenReturn(34L);
when(vm.getBackupOfferingId()).thenReturn(null);
when(vm.getBackupVolumeList()).thenReturn(Collections.emptyList());
when(volumeDaoMock.findByInstanceAndType(anyLong(), any(Volume.Type.class))).thenReturn(new ArrayList<>(10));
when(volumeDataFactoryMock.getVolume(9L)).thenReturn(volumeToAttach);
- when(volumeToAttach.getState()).thenReturn(Volume.State.Uploaded);
DataCenterVO zoneWithDisabledLocalStorage = Mockito.mock(DataCenterVO.class);
when(_dcDao.findById(anyLong())).thenReturn(zoneWithDisabledLocalStorage);
when(zoneWithDisabledLocalStorage.isLocalStorageEnabled()).thenReturn(true);
@@
Original Test Code (click to expand)
@Test
public void testResourceLimitCheckForUploadedVolume() throws NoSuchFieldException, IllegalAccessException, ResourceAllocationException {
doThrow(new ResourceAllocationException("primary storage resource limit check failed", Resource.ResourceType.primary_storage)).when(resourceLimitServiceMock).checkResourceLimit(any(AccountVO.class), any(Resource.ResourceType.class), any(Long.class));
UserVmVO vm = Mockito.mock(UserVmVO.class);
AccountVO acc = Mockito.mock(AccountVO.class);
VolumeInfo volumeToAttach = Mockito.mock(VolumeInfo.class);
lenient().when(volumeToAttach.getId()).thenReturn(9L);
when(volumeToAttach.getDataCenterId()).thenReturn(34L);
when(volumeToAttach.getVolumeType()).thenReturn(Volume.Type.DATADISK);
when(volumeToAttach.getInstanceId()).thenReturn(null);
when(volumeToAttach.getAccountId()).thenReturn(3L);
when(_accountDao.findById(anyLong())).thenReturn(acc);
when(userVmDaoMock.findById(anyLong())).thenReturn(vm);
when(vm.getType()).thenReturn(VirtualMachine.Type.User);
when(vm.getState()).thenReturn(State.Running);
when(vm.getDataCenterId()).thenReturn(34L);
when(vm.getBackupOfferingId()).thenReturn(null);
when(vm.getBackupVolumeList()).thenReturn(Collections.emptyList());
when(volumeDaoMock.findByInstanceAndType(anyLong(), any(Volume.Type.class))).thenReturn(new ArrayList<>(10));
when(volumeDataFactoryMock.getVolume(9L)).thenReturn(volumeToAttach);
when(volumeToAttach.getState()).thenReturn(Volume.State.Uploaded);
DataCenterVO zoneWithDisabledLocalStorage = Mockito.mock(DataCenterVO.class);
when(_dcDao.findById(anyLong())).thenReturn(zoneWithDisabledLocalStorage);
when(zoneWithDisabledLocalStorage.isLocalStorageEnabled()).thenReturn(true);
try {
volumeApiServiceImpl.attachVolumeToVM(2L, 9L, null);
} catch (InvalidParameterValueException e) {
Assert.assertEquals(e.getMessage(), ("primary storage resource limit check failed"));
}
}
Reusable Method for MCI (click to expand)
private static VolumeInfo createMockVolumeInfoWithState(com.cloud.storage.Volume.State state) {
VolumeInfo volumeInfo = Mockito.mock(VolumeInfo.class);
when(volumeInfo.getState()).thenReturn(state);
return volumeInfo;
}
Test Case ID #cloudstack_Test_230_2
Test Case Name: testTakeSnapshotF1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\storage\VolumeApiServiceImplTest.java)
Mock Object Variable Name: volumeInfoMock
Suggested Diff
@@
when(volumeDataFactoryMock.getVolume(anyLong())).thenReturn(volumeInfoMock);
- when(volumeInfoMock.getState()).thenReturn(Volume.State.Allocated);
- lenient().when(volumeInfoMock.getPoolId()).thenReturn(1L);
+ volumeInfoMock = createMockVolumeInfoWithState(Volume.State.Allocated);
+ lenient().when(volumeInfoMock.getPoolId()).thenReturn(1L);
volumeApiServiceImpl.takeSnapshot(5L, Snapshot.MANUAL_POLICY_ID, 3L, null, false, null, false, null);
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testTakeSnapshotF1() throws ResourceAllocationException {
when(volumeDataFactoryMock.getVolume(anyLong())).thenReturn(volumeInfoMock);
when(volumeInfoMock.getState()).thenReturn(Volume.State.Allocated);
lenient().when(volumeInfoMock.getPoolId()).thenReturn(1L);
volumeApiServiceImpl.takeSnapshot(5L, Snapshot.MANUAL_POLICY_ID, 3L, null, false, null, false, null);
}
Reusable Method for MCI (click to expand)
private static VolumeInfo createMockVolumeInfoWithState(com.cloud.storage.Volume.State state) {
VolumeInfo volumeInfo = Mockito.mock(VolumeInfo.class);
when(volumeInfo.getState()).thenReturn(state);
return volumeInfo;
}
Test Case ID #cloudstack_Test_230_3
Test Case Name: testTakeSnapshotF2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\storage\VolumeApiServiceImplTest.java)
Mock Object Variable Name: volumeInfoMock
Suggested Diff
@@
@Test
public void testTakeSnapshotF2() throws ResourceAllocationException {
when(volumeDataFactoryMock.getVolume(anyLong())).thenReturn(volumeInfoMock);
- when(volumeInfoMock.getState()).thenReturn(Volume.State.Ready);
+ volumeInfoMock = createMockVolumeInfoWithState(Volume.State.Ready);
when(volumeInfoMock.getInstanceId()).thenReturn(null);
when(volumeInfoMock.getPoolId()).thenReturn(1L);
when(volumeServiceMock.takeSnapshot(Mockito.any(VolumeInfo.class))).thenReturn(snapshotInfoMock);
final TaggedResourceService taggedResourceService = Mockito.mock(TaggedResourceService.class);
Mockito.lenient().when(taggedResourceService.createTags(anyObject(), anyObject(), anyObject(), anyObject())).thenReturn(null);
ReflectionTestUtils.setField(volumeApiServiceImpl, "taggedResourceService", taggedResourceService);
volumeApiServiceImpl.takeSnapshot(5L, Snapshot.MANUAL_POLICY_ID, 3L, null, false, null, false, null);
}
@@
Original Test Code (click to expand)
@Test
public void testTakeSnapshotF2() throws ResourceAllocationException {
when(volumeDataFactoryMock.getVolume(anyLong())).thenReturn(volumeInfoMock);
when(volumeInfoMock.getState()).thenReturn(Volume.State.Ready);
when(volumeInfoMock.getInstanceId()).thenReturn(null);
when(volumeInfoMock.getPoolId()).thenReturn(1L);
when(volumeServiceMock.takeSnapshot(Mockito.any(VolumeInfo.class))).thenReturn(snapshotInfoMock);
final TaggedResourceService taggedResourceService = Mockito.mock(TaggedResourceService.class);
Mockito.lenient().when(taggedResourceService.createTags(anyObject(), anyObject(), anyObject(), anyObject())).thenReturn(null);
ReflectionTestUtils.setField(volumeApiServiceImpl, "taggedResourceService", taggedResourceService);
volumeApiServiceImpl.takeSnapshot(5L, Snapshot.MANUAL_POLICY_ID, 3L, null, false, null, false, null);
}
Reusable Method for MCI (click to expand)
private static VolumeInfo createMockVolumeInfoWithState(com.cloud.storage.Volume.State state) {
VolumeInfo volumeInfo = Mockito.mock(VolumeInfo.class);
when(volumeInfo.getState()).thenReturn(state);
return volumeInfo;
}
Mock Clone Instance #cloudstack_MCI_231
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo
- Test Case Count: 1
- MO Count: 2
Reusable Method
private static VolumeInfo createMockVolumeInfo(DataStore dataStoreMock) {
VolumeInfo volumeInfoMock = Mockito.mock(VolumeInfo.class);
Mockito.doReturn(dataStoreMock).when(volumeInfoMock).getDataStore();
return volumeInfoMock;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_231_1
Test Case Name: cleanVolumesCacheTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\storage\VolumeApiServiceImplTest.java)
Mock Object Variable Name: volumeInfoMock1
Suggested Diff
@@
List<VolumeInfo> volumeInfos = new ArrayList<>();
- VolumeInfo volumeInfoMock1 = Mockito.mock(VolumeInfo.class);
+ VolumeInfo volumeInfoMock1 = createMockVolumeInfo(dataStoreMock1);
VolumeInfo volumeInfoMock2 = Mockito.mock(VolumeInfo.class);
DataStore dataStoreMock1 = Mockito.mock(DataStore.class);
DataStore dataStoreMock2 = Mockito.mock(DataStore.class);
- Mockito.doReturn(dataStoreMock1).when(volumeInfoMock1).getDataStore();
Mockito.doReturn(dataStoreMock2).when(volumeInfoMock2).getDataStore();
volumeInfos.add(volumeInfoMock1);
volumeInfos.add(volumeInfoMock2);
Mockito.doReturn(volumeInfos).when(volumeDataFactoryMock).listVolumeOnCache(volumeMockId);
volumeApiServiceImpl.cleanVolumesCache(volumeVoMock);
Mockito.verify(dataStoreMock1).getName();
Mockito.verify(dataStoreMock2).getName();
Mockito.verify(volumeInfoMock1).delete();
Mockito.verify(volumeInfoMock2).delete();
@@
Original Test Code (click to expand)
@Test
public void cleanVolumesCacheTest() {
List<VolumeInfo> volumeInfos = new ArrayList<>();
VolumeInfo volumeInfoMock1 = Mockito.mock(VolumeInfo.class);
VolumeInfo volumeInfoMock2 = Mockito.mock(VolumeInfo.class);
DataStore dataStoreMock1 = Mockito.mock(DataStore.class);
DataStore dataStoreMock2 = Mockito.mock(DataStore.class);
Mockito.doReturn(dataStoreMock1).when(volumeInfoMock1).getDataStore();
Mockito.doReturn(dataStoreMock2).when(volumeInfoMock2).getDataStore();
volumeInfos.add(volumeInfoMock1);
volumeInfos.add(volumeInfoMock2);
Mockito.doReturn(volumeInfos).when(volumeDataFactoryMock).listVolumeOnCache(volumeMockId);
volumeApiServiceImpl.cleanVolumesCache(volumeVoMock);
Mockito.verify(dataStoreMock1).getName();
Mockito.verify(dataStoreMock2).getName();
Mockito.verify(volumeInfoMock1).delete();
Mockito.verify(volumeInfoMock2).delete();
}
Reusable Method for MCI (click to expand)
private static VolumeInfo createMockVolumeInfo(DataStore dataStoreMock) {
VolumeInfo volumeInfoMock = Mockito.mock(VolumeInfo.class);
Mockito.doReturn(dataStoreMock).when(volumeInfoMock).getDataStore();
return volumeInfoMock;
}
Test Case ID #cloudstack_Test_231_2
Test Case Name: cleanVolumesCacheTest(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\storage\VolumeApiServiceImplTest.java)
Mock Object Variable Name: volumeInfoMock2
Suggested Diff
@@
List<VolumeInfo> volumeInfos = new ArrayList<>();
VolumeInfo volumeInfoMock1 = Mockito.mock(VolumeInfo.class);
- VolumeInfo volumeInfoMock2 = Mockito.mock(VolumeInfo.class);
DataStore dataStoreMock1 = Mockito.mock(DataStore.class);
DataStore dataStoreMock2 = Mockito.mock(DataStore.class);
Mockito.doReturn(dataStoreMock1).when(volumeInfoMock1).getDataStore();
- Mockito.doReturn(dataStoreMock2).when(volumeInfoMock2).getDataStore();
+ VolumeInfo volumeInfoMock2 = createMockVolumeInfo(dataStoreMock2);
volumeInfos.add(volumeInfoMock1);
volumeInfos.add(volumeInfoMock2);
Mockito.doReturn(volumeInfos).when(volumeDataFactoryMock).listVolumeOnCache(volumeMockId);
volumeApiServiceImpl.cleanVolumesCache(volumeVoMock);
Mockito.verify(dataStoreMock1).getName();
Mockito.verify(dataStoreMock2).getName();
Mockito.verify(volumeInfoMock1).delete();
Mockito.verify(volumeInfoMock2).delete();
@@
Original Test Code (click to expand)
@Test
public void cleanVolumesCacheTest() {
List<VolumeInfo> volumeInfos = new ArrayList<>();
VolumeInfo volumeInfoMock1 = Mockito.mock(VolumeInfo.class);
VolumeInfo volumeInfoMock2 = Mockito.mock(VolumeInfo.class);
DataStore dataStoreMock1 = Mockito.mock(DataStore.class);
DataStore dataStoreMock2 = Mockito.mock(DataStore.class);
Mockito.doReturn(dataStoreMock1).when(volumeInfoMock1).getDataStore();
Mockito.doReturn(dataStoreMock2).when(volumeInfoMock2).getDataStore();
volumeInfos.add(volumeInfoMock1);
volumeInfos.add(volumeInfoMock2);
Mockito.doReturn(volumeInfos).when(volumeDataFactoryMock).listVolumeOnCache(volumeMockId);
volumeApiServiceImpl.cleanVolumesCache(volumeVoMock);
Mockito.verify(dataStoreMock1).getName();
Mockito.verify(dataStoreMock2).getName();
Mockito.verify(volumeInfoMock1).delete();
Mockito.verify(volumeInfoMock2).delete();
}
Reusable Method for MCI (click to expand)
private static VolumeInfo createMockVolumeInfo(DataStore dataStoreMock) {
VolumeInfo volumeInfoMock = Mockito.mock(VolumeInfo.class);
Mockito.doReturn(dataStoreMock).when(volumeInfoMock).getDataStore();
return volumeInfoMock;
}
Mock Clone Instance #cloudstack_MCI_232
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static VolumeInfo createMockVolumeInfo(String uuidReturn) {
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
when(vol.getUuid()).thenReturn(uuidReturn);
return vol;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_232_1
Test Case Name: testCreateDiskSnapshotBasedOnStrategy(File: C:\Java_projects\Apache\cloudstack\engine\storage\snapshot\src\test\java\org\apache\cloudstack\storage\vmsnapshot\VMSnapshotStrategyKVMTest.java)
Mock Object Variable Name: vol
Suggested Diff
@@
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
List<SnapshotInfo> forRollback = new ArrayList<>();
- VolumeInfo vol = Mockito.mock(VolumeInfo.class);
+ VolumeInfo vol = createMockVolumeInfo(volUuid);
SnapshotInfo snapshotInfo = Mockito.mock(SnapshotInfo.class);
SnapshotStrategy strategy = Mockito.mock(SnapshotStrategy.class);
DataStore dataStore = Mockito.mock(DataStore.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
SnapshotVO snapshot = new SnapshotVO(vol.getDataCenterId(), vol.getAccountId(), vol.getDomainId(), vol.getId(), vol.getDiskOfferingId(), vmUuid + "_" + volUuid, (short) SnapshotVO.MANUAL_POLICY_ID, "MANUAL", vol.getSize(), vol.getMinIops(), vol.getMaxIops(), Hypervisor.HypervisorType.KVM, null);
PowerMockito.whenNew(SnapshotVO.class).withAnyArguments().thenReturn(snapshot);
when(vmSnapshot.getUuid()).thenReturn(vmUuid);
- when(vol.getUuid()).thenReturn(volUuid);
when(_snapshotDao.persist(any())).thenReturn(snapshot);
+ when(vol.getDataStore()).thenReturn(dataStore);
when(_snapshotDataFactory.getSnapshot(snapshot.getId(), vol.getDataStore())).thenReturn(snapshotInfo);
when(_storageStrategyFactory.getSnapshotStrategy(snapshotInfo, SnapshotOperation.TAKE)).thenReturn(strategy);
SnapshotInfo info = null;
when(strategy.takeSnapshot(any())).thenReturn(snapshotInfo);
VMSnapshotDetailsVO vmDetails = new VMSnapshotDetailsVO(vmSnapshot.getId(), volUuid, String.valueOf(snapshot.getId()), false);
PowerMockito.whenNew(VMSnapshotDetailsVO.class).withAnyArguments().thenReturn(vmDetails);
when(vmSnapshotDetailsDao.persist(any())).thenReturn(vmDetails);
info = vmStrategy.createDiskSnapshot(vmSnapshot, forRollback, vol);
assertNotNull(info);
@@
Original Test Code (click to expand)
@Test
public void testCreateDiskSnapshotBasedOnStrategy() throws Exception {
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
List<SnapshotInfo> forRollback = new ArrayList<>();
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
SnapshotInfo snapshotInfo = Mockito.mock(SnapshotInfo.class);
SnapshotStrategy strategy = Mockito.mock(SnapshotStrategy.class);
DataStore dataStore = Mockito.mock(DataStore.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
SnapshotVO snapshot = new SnapshotVO(vol.getDataCenterId(), vol.getAccountId(), vol.getDomainId(), vol.getId(), vol.getDiskOfferingId(), vmUuid + "_" + volUuid, (short) SnapshotVO.MANUAL_POLICY_ID, "MANUAL", vol.getSize(), vol.getMinIops(), vol.getMaxIops(), Hypervisor.HypervisorType.KVM, null);
PowerMockito.whenNew(SnapshotVO.class).withAnyArguments().thenReturn(snapshot);
when(vmSnapshot.getUuid()).thenReturn(vmUuid);
when(vol.getUuid()).thenReturn(volUuid);
when(_snapshotDao.persist(any())).thenReturn(snapshot);
when(vol.getDataStore()).thenReturn(dataStore);
when(_snapshotDataFactory.getSnapshot(snapshot.getId(), vol.getDataStore())).thenReturn(snapshotInfo);
when(_storageStrategyFactory.getSnapshotStrategy(snapshotInfo, SnapshotOperation.TAKE)).thenReturn(strategy);
SnapshotInfo info = null;
when(strategy.takeSnapshot(any())).thenReturn(snapshotInfo);
VMSnapshotDetailsVO vmDetails = new VMSnapshotDetailsVO(vmSnapshot.getId(), volUuid, String.valueOf(snapshot.getId()), false);
PowerMockito.whenNew(VMSnapshotDetailsVO.class).withAnyArguments().thenReturn(vmDetails);
when(vmSnapshotDetailsDao.persist(any())).thenReturn(vmDetails);
info = vmStrategy.createDiskSnapshot(vmSnapshot, forRollback, vol);
assertNotNull(info);
}
Reusable Method for MCI (click to expand)
private static VolumeInfo createMockVolumeInfo(String uuidReturn) {
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
when(vol.getUuid()).thenReturn(uuidReturn);
return vol;
}
Test Case ID #cloudstack_Test_232_2
Test Case Name: testRevertDiskSnapshot(File: C:\Java_projects\Apache\cloudstack\engine\storage\snapshot\src\test\java\org\apache\cloudstack\storage\vmsnapshot\VMSnapshotStrategyKVMTest.java)
Mock Object Variable Name: vol
Suggested Diff
@@
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
- VolumeInfo vol = Mockito.mock(VolumeInfo.class);
+ VolumeInfo vol = createMockVolumeInfo(volUuid);
SnapshotVO snapshotVO = Mockito.mock(SnapshotVO.class);
Snapshot snap = Mockito.mock(Snapshot.class);
DataStore dataStore = Mockito.mock(DataStore.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
String name = vmUuid + "_" + volUuid;
- when(vol.getUuid()).thenReturn(volUuid);
when(vmSnapshot.getUuid()).thenReturn(vmUuid);
- when(vol.getDataStore()).thenReturn(dataStore);
+ when(vol.getDataStore()).thenReturn(dataStore);
when(snapshotVO.getId()).thenReturn(1L);
when(_snapshotService.revertSnapshot(snapshotVO.getId())).thenReturn(snap);
// testFindSnapshotByName(name);
vmStrategy.revertDiskSnapshot(vmSnapshot);
@@
Original Test Code (click to expand)
@Test
public void testRevertDiskSnapshot() throws Exception {
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
SnapshotVO snapshotVO = Mockito.mock(SnapshotVO.class);
Snapshot snap = Mockito.mock(Snapshot.class);
DataStore dataStore = Mockito.mock(DataStore.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
String name = vmUuid + "_" + volUuid;
when(vol.getUuid()).thenReturn(volUuid);
when(vmSnapshot.getUuid()).thenReturn(vmUuid);
when(vol.getDataStore()).thenReturn(dataStore);
when(snapshotVO.getId()).thenReturn(1L);
when(_snapshotService.revertSnapshot(snapshotVO.getId())).thenReturn(snap);
vmStrategy.revertDiskSnapshot(vmSnapshot);
}
Reusable Method for MCI (click to expand)
private static VolumeInfo createMockVolumeInfo(String uuidReturn) {
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
when(vol.getUuid()).thenReturn(uuidReturn);
return vol;
}
Test Case ID #cloudstack_Test_232_3
Test Case Name: testDeleteDiskSnapshot(File: C:\Java_projects\Apache\cloudstack\engine\storage\snapshot\src\test\java\org\apache\cloudstack\storage\vmsnapshot\VMSnapshotStrategyKVMTest.java)
Mock Object Variable Name: vol
Suggested Diff
@@
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
- VolumeInfo vol = Mockito.mock(VolumeInfo.class);
+ VolumeInfo vol = createMockVolumeInfo(volUuid);
SnapshotVO snapshotVO = Mockito.mock(SnapshotVO.class);
Snapshot snap = Mockito.mock(Snapshot.class);
SnapshotInfo info = Mockito.mock(SnapshotInfo.class);
SnapshotStrategy strategy = Mockito.mock(SnapshotStrategy.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
String name = vmUuid + "_" + volUuid;
- when(vol.getUuid()).thenReturn(volUuid);
when(vmSnapshot.getUuid()).thenReturn(vmUuid);
when(snapshotVO.getId()).thenReturn(1L);
when(_snapshotDataFactory.getSnapshot(snapshotVO.getId(), vol.getDataStore())).thenReturn(info);
when(_storageStrategyFactory.getSnapshotStrategy(info, SnapshotOperation.DELETE)).thenReturn(strategy);
testFindSnapshotByName(name);
vmStrategy.deleteDiskSnapshot(vmSnapshot);
@@
Original Test Code (click to expand)
@Test
public void testDeleteDiskSnapshot() {
VMSnapshot vmSnapshot = Mockito.mock(VMSnapshot.class);
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
SnapshotVO snapshotVO = Mockito.mock(SnapshotVO.class);
Snapshot snap = Mockito.mock(Snapshot.class);
SnapshotInfo info = Mockito.mock(SnapshotInfo.class);
SnapshotStrategy strategy = Mockito.mock(SnapshotStrategy.class);
String volUuid = UUID.randomUUID().toString();
String vmUuid = UUID.randomUUID().toString();
String name = vmUuid + "_" + volUuid;
when(vol.getUuid()).thenReturn(volUuid);
when(vmSnapshot.getUuid()).thenReturn(vmUuid);
when(snapshotVO.getId()).thenReturn(1L);
when(_snapshotDataFactory.getSnapshot(snapshotVO.getId(), vol.getDataStore())).thenReturn(info);
when(_storageStrategyFactory.getSnapshotStrategy(info, SnapshotOperation.DELETE)).thenReturn(strategy);
testFindSnapshotByName(name);
vmStrategy.deleteDiskSnapshot(vmSnapshot);
}
Reusable Method for MCI (click to expand)
private static VolumeInfo createMockVolumeInfo(String uuidReturn) {
VolumeInfo vol = Mockito.mock(VolumeInfo.class);
when(vol.getUuid()).thenReturn(uuidReturn);
return vol;
}
Mock Clone Instance #cloudstack_MCI_233
- Scope: class level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockVolumeInfo {
public static VolumeInfo createMockVolumeInfo(Long poolIdReturn) {
VolumeInfo volumeInfo = Mockito.mock(VolumeInfo.class);
Mockito.when(volumeInfo.getPoolId()).thenReturn(poolIdReturn);
return volumeInfo;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_233_1
Test Case Name: canHandleKVMLiveStorageMigrationMultipleSources(File: C:\Java_projects\Apache\cloudstack\engine\storage\datamotion\src\test\java\org\apache\cloudstack\storage\motion\KvmNonManagedStorageSystemDataMotionTest.java)
Mock Object Variable Name: volumeInfo1
Suggested Diff
@@
migrationMap = new HashMap<>();
- migrationMap.put(volumeInfo1, dataStore2);
migrationMap.put(volumeInfo2, dataStore2);
- when(volumeInfo1.getPoolId()).thenReturn(POOL_1_ID);
when(primaryDataStoreDao.findById(POOL_1_ID)).thenReturn(pool1);
when(pool1.isManaged()).thenReturn(false);
when(dataStore2.getId()).thenReturn(POOL_2_ID);
when(primaryDataStoreDao.findById(POOL_2_ID)).thenReturn(pool2);
when(pool2.isManaged()).thenReturn(true);
- when(volumeInfo1.getDataStore()).thenReturn(dataStore1);
when(volumeInfo2.getPoolId()).thenReturn(POOL_1_ID);
lenient().when(volumeInfo2.getDataStore()).thenReturn(dataStore1);
lenient().when(dataStore1.getId()).thenReturn(POOL_1_ID);
when(pool1.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getScope()).thenReturn(ScopeType.CLUSTER);
lenient().when(dataStore3.getId()).thenReturn(POOL_3_ID);
lenient().when(primaryDataStoreDao.findById(POOL_3_ID)).thenReturn(pool3);
lenient().when(pool3.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
lenient().when(pool3.getScope()).thenReturn(ScopeType.CLUSTER);
when(host1.getId()).thenReturn(HOST_1_ID);
when(host1.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host1.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(host2.getId()).thenReturn(HOST_2_ID);
when(host2.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host2.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
@@
public void canHandleKVMLiveStorageMigrationMultipleSources() {
+ volumeInfo1 = MockVolumeInfo.createMockVolumeInfo(POOL_1_ID);
+ migrationMap.put(volumeInfo1, dataStore2);
+ when(volumeInfo1.getDataStore()).thenReturn(dataStore1);
lenient().when(volumeInfo1.getDataStore()).thenReturn(dataStore2);
StrategyPriority priority = kvmNonManagedStorageDataMotionStrategy.canHandleKVMNonManagedLiveNFSStorageMigration(migrationMap, host1, host2);
assertEquals(StrategyPriority.HYPERVISOR, priority);
}
Original Test Code (click to expand)
@Before
public void setUp() {
migrationMap = new HashMap<>();
migrationMap.put(volumeInfo1, dataStore2);
migrationMap.put(volumeInfo2, dataStore2);
when(volumeInfo1.getPoolId()).thenReturn(POOL_1_ID);
when(primaryDataStoreDao.findById(POOL_1_ID)).thenReturn(pool1);
when(pool1.isManaged()).thenReturn(false);
when(dataStore2.getId()).thenReturn(POOL_2_ID);
when(primaryDataStoreDao.findById(POOL_2_ID)).thenReturn(pool2);
when(pool2.isManaged()).thenReturn(true);
when(volumeInfo1.getDataStore()).thenReturn(dataStore1);
when(volumeInfo2.getPoolId()).thenReturn(POOL_1_ID);
lenient().when(volumeInfo2.getDataStore()).thenReturn(dataStore1);
lenient().when(dataStore1.getId()).thenReturn(POOL_1_ID);
when(pool1.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
when(pool2.getScope()).thenReturn(ScopeType.CLUSTER);
lenient().when(dataStore3.getId()).thenReturn(POOL_3_ID);
lenient().when(primaryDataStoreDao.findById(POOL_3_ID)).thenReturn(pool3);
lenient().when(pool3.getPoolType()).thenReturn(Storage.StoragePoolType.NetworkFilesystem);
lenient().when(pool3.getScope()).thenReturn(ScopeType.CLUSTER);
when(host1.getId()).thenReturn(HOST_1_ID);
when(host1.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host1.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
when(host2.getId()).thenReturn(HOST_2_ID);
when(host2.getClusterId()).thenReturn(CLUSTER_ID);
lenient().when(host2.getHypervisorType()).thenReturn(Hypervisor.HypervisorType.KVM);
}
@Test
public void canHandleKVMLiveStorageMigrationMultipleSources() {
lenient().when(volumeInfo1.getDataStore()).thenReturn(dataStore2);
StrategyPriority priority = kvmNonManagedStorageDataMotionStrategy.canHandleKVMNonManagedLiveNFSStorageMigration(migrationMap, host1, host2);
assertEquals(StrategyPriority.HYPERVISOR, priority);
}
Reusable Method for MCI (click to expand)
public class MockVolumeInfo {
public static VolumeInfo createMockVolumeInfo(Long poolIdReturn) {
VolumeInfo volumeInfo = Mockito.mock(VolumeInfo.class);
Mockito.when(volumeInfo.getPoolId()).thenReturn(poolIdReturn);
return volumeInfo;
}
}
Test Case ID #cloudstack_Test_233_2
Test Case Name: formatEntryOfVolumesAndStoragesAsJsonToDisplayOnLogValidateFormat(File: C:\Java_projects\Apache\cloudstack\engine\storage\datamotion\src\test\java\org\apache\cloudstack\storage\motion\StorageSystemDataMotionStrategyTest.java)
Mock Object Variable Name: volumeInfo
Suggested Diff
@@
Long volume = 1L, from = 2L, to = 3L;
- VolumeInfo volumeInfo = Mockito.mock(VolumeInfo.class);
+ VolumeInfo volumeInfo = MockVolumeInfo.createMockVolumeInfo(from);
DataStore dataStore = Mockito.mock(DataStore.class);
- Mockito.when(volumeInfo.getId()).thenReturn(volume);
+ Mockito.when(volumeInfo.getId()).thenReturn(volume);
Mockito.when(volumeInfo.getPoolId()).thenReturn(from);
Mockito.when(dataStore.getId()).thenReturn(to);
Assert.assertEquals(String.format("{volume: \"%s\", from: \"%s\", to:\"%s\"}", volume, from, to), strategy.formatEntryOfVolumesAndStoragesAsJsonToDisplayOnLog(new AbstractMap.SimpleEntry<>(volumeInfo, dataStore)));
@@
Original Test Code (click to expand)
@Test
public void formatEntryOfVolumesAndStoragesAsJsonToDisplayOnLogValidateFormat() {
Long volume = 1L, from = 2L, to = 3L;
VolumeInfo volumeInfo = Mockito.mock(VolumeInfo.class);
DataStore dataStore = Mockito.mock(DataStore.class);
Mockito.when(volumeInfo.getId()).thenReturn(volume);
Mockito.when(volumeInfo.getPoolId()).thenReturn(from);
Mockito.when(dataStore.getId()).thenReturn(to);
Assert.assertEquals(String.format("{volume: \"%s\", from: \"%s\", to:\"%s\"}", volume, from, to), strategy.formatEntryOfVolumesAndStoragesAsJsonToDisplayOnLog(new AbstractMap.SimpleEntry<>(volumeInfo, dataStore)));
}
Reusable Method for MCI (click to expand)
public class MockVolumeInfo {
public static VolumeInfo createMockVolumeInfo(Long poolIdReturn) {
VolumeInfo volumeInfo = Mockito.mock(VolumeInfo.class);
Mockito.when(volumeInfo.getPoolId()).thenReturn(poolIdReturn);
return volumeInfo;
}
}
Mock Clone Instance #cloudstack_MCI_234
- Scope: method level
- Mocked Class:
org.apache.log4j.spi.LoggingEvent
- Test Case Count: 3
- MO Count: 3
Reusable Method
private LoggingEvent event;
@BeforeEach
public void setUp() {
event = mock(LoggingEvent.class);
}
event;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_234_1
Test Case Name: parseAlertTest(File: C:\Java_projects\Apache\cloudstack\plugins\alert-handlers\snmp-alerts\src\test\java\org\apache\cloudstack\alert\snmp\SnmpEnhancedPatternLayoutTest.java)
Mock Object Variable Name: event
Suggested Diff
@@
@Test
public void parseAlertTest() {
- LoggingEvent event = mock(LoggingEvent.class);
+ // removed local mock; replaced with global field `event`
setMessage(" alertType:: 14 // dataCenterId:: 1 // podId:: 1 // " + "clusterId:: null // message:: Management" + " network CIDR is not configured originally. Set it default to 10.102.192.0/22", event);
SnmpTrapInfo info = _snmpEnhancedPatternLayout.parseEvent(event);
commonAssertions(info, "Management network CIDR is not configured originally. Set it default to 10.102.192" + ".0/22");
}
Original Test Code (click to expand)
@Test
public void parseAlertTest() {
LoggingEvent event = mock(LoggingEvent.class);
setMessage(" alertType:: 14 // dataCenterId:: 1 // podId:: 1 // " + "clusterId:: null // message:: Management" + " network CIDR is not configured originally. Set it default to 10.102.192.0/22", event);
SnmpTrapInfo info = _snmpEnhancedPatternLayout.parseEvent(event);
commonAssertions(info, "Management network CIDR is not configured originally. Set it default to 10.102.192" + ".0/22");
}
Reusable Method for MCI (click to expand)
private LoggingEvent event;
@BeforeEach
public void setUp() {
event = mock(LoggingEvent.class);
}
event;
Test Case ID #cloudstack_Test_234_2
Test Case Name: ParseAlertWithPairDelimeterInMessageTest(File: C:\Java_projects\Apache\cloudstack\plugins\alert-handlers\snmp-alerts\src\test\java\org\apache\cloudstack\alert\snmp\SnmpEnhancedPatternLayoutTest.java)
Mock Object Variable Name: event
Suggested Diff
@@
@Test
public void ParseAlertWithPairDelimeterInMessageTest() {
- LoggingEvent event = mock(LoggingEvent.class);
+ // removed local mock; replaced with global field `event`
setMessage(" alertType:: 14 // dataCenterId:: 1 // podId:: 1 // " + "clusterId:: null // message:: Management" + " //network CIDR is not configured originally. Set it default to 10.102.192.0/22", event);
SnmpTrapInfo info = _snmpEnhancedPatternLayout.parseEvent(event);
commonAssertions(info, "Management //network CIDR is not configured originally. Set it default to 10.102.192" + ".0/22");
}
Original Test Code (click to expand)
@Test
public void ParseAlertWithPairDelimeterInMessageTest() {
LoggingEvent event = mock(LoggingEvent.class);
setMessage(" alertType:: 14 // dataCenterId:: 1 // podId:: 1 // " + "clusterId:: null // message:: Management" + " //network CIDR is not configured originally. Set it default to 10.102.192.0/22", event);
SnmpTrapInfo info = _snmpEnhancedPatternLayout.parseEvent(event);
commonAssertions(info, "Management //network CIDR is not configured originally. Set it default to 10.102.192" + ".0/22");
}
Reusable Method for MCI (click to expand)
private LoggingEvent event;
@BeforeEach
public void setUp() {
event = mock(LoggingEvent.class);
}
event;
Test Case ID #cloudstack_Test_234_3
Test Case Name: ParseAlertWithKeyValueDelimeterInMessageTest(File: C:\Java_projects\Apache\cloudstack\plugins\alert-handlers\snmp-alerts\src\test\java\org\apache\cloudstack\alert\snmp\SnmpEnhancedPatternLayoutTest.java)
Mock Object Variable Name: event
Suggested Diff
@@
@Test
public void ParseAlertWithKeyValueDelimeterInMessageTest() {
- LoggingEvent event = mock(LoggingEvent.class);
+ // removed local mock; replaced with global field `event`
setMessage(" alertType:: 14 // dataCenterId:: 1 // podId:: 1 // " + "clusterId:: null // message:: Management" + " ::network CIDR is not configured originally. Set it default to 10.102.192.0/22", event);
SnmpTrapInfo info = _snmpEnhancedPatternLayout.parseEvent(event);
commonAssertions(info, "Management ::network CIDR is not configured originally. Set it default to 10.102.192" + ".0/22");
}
Original Test Code (click to expand)
@Test
public void ParseAlertWithKeyValueDelimeterInMessageTest() {
LoggingEvent event = mock(LoggingEvent.class);
setMessage(" alertType:: 14 // dataCenterId:: 1 // podId:: 1 // " + "clusterId:: null // message:: Management" + " ::network CIDR is not configured originally. Set it default to 10.102.192.0/22", event);
SnmpTrapInfo info = _snmpEnhancedPatternLayout.parseEvent(event);
commonAssertions(info, "Management ::network CIDR is not configured originally. Set it default to 10.102.192" + ".0/22");
}
Reusable Method for MCI (click to expand)
private LoggingEvent event;
@BeforeEach
public void setUp() {
event = mock(LoggingEvent.class);
}
event;
Mock Clone Instance #cloudstack_MCI_235
- Scope: class level
- Mocked Class:
com.cloud.network.as.AutoScaleVmProfile
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockAutoScaleVmProfile {
public static AutoScaleVmProfile createMockAutoScaleVmProfile() {
AutoScaleVmProfile autoScaleVmProfile = Mockito.mock(AutoScaleVmProfile.class);
when(autoScaleVmProfile.getId()).thenReturn(1L);
when(autoScaleVmProfile.getUuid()).thenReturn("1111-2222-3333-4444");
return autoScaleVmProfile;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_235_1
Test Case Name: testCreateAutoScaleVmProfileSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\CreateAutoScaleVmProfileCmdTest.java)
Mock Object Variable Name: autoScaleVmProfile
Suggested Diff
@@
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "accountName", accountName);
- autoScaleVmProfile = Mockito.mock(AutoScaleVmProfile.class);
response = new AutoScaleVmProfileResponse();
response.setUserData(userData);
response.setExpungeVmGracePeriod(expungeVmGracePeriod);
}
@Test
public void testCreateAutoScaleVmProfileSuccess() {
- when(autoScaleVmProfile.getId()).thenReturn(1L);
- when(autoScaleVmProfile.getUuid()).thenReturn("1111-2222-3333-4444");
+ autoScaleVmProfile = MockAutoScaleVmProfile.createMockAutoScaleVmProfile();
when(autoScaleService.createAutoScaleVmProfile(createAutoScaleVmProfileCmd)).thenReturn(autoScaleVmProfile);
try {
createAutoScaleVmProfileCmd.create();
} catch (ResourceAllocationException ex) {
Assert.fail("Got exception: " + ex.getMessage());
}
Assert.assertEquals(1L, (long) createAutoScaleVmProfileCmd.getEntityId());
when(entityMgr.findById(AutoScaleVmProfile.class, 1L)).thenReturn(autoScaleVmProfile);
when(responseGenerator.createAutoScaleVmProfileResponse(autoScaleVmProfile)).thenReturn(response);
createAutoScaleVmProfileCmd.execute();
AutoScaleVmProfileResponse autoScaleVmProfileResponse = (AutoScaleVmProfileResponse) createAutoScaleVmProfileCmd.getResponseObject();
Assert.assertEquals(createAutoScaleVmProfileCmd.getCommandName(), autoScaleVmProfileResponse.getResponseName());
Assert.assertEquals(userData, ReflectionTestUtils.getField(autoScaleVmProfileResponse, "userData"));
Assert.assertEquals(expungeVmGracePeriod, (int) ReflectionTestUtils.getField(autoScaleVmProfileResponse, "expungeVmGracePeriod"));
}
@@
Original Test Code (click to expand)
@Test
public void testCreateAutoScaleVmProfileSuccess() {
when(autoScaleVmProfile.getId()).thenReturn(1L);
when(autoScaleVmProfile.getUuid()).thenReturn("1111-2222-3333-4444");
when(autoScaleService.createAutoScaleVmProfile(createAutoScaleVmProfileCmd)).thenReturn(autoScaleVmProfile);
try {
createAutoScaleVmProfileCmd.create();
} catch (ResourceAllocationException ex) {
Assert.fail("Got exception: " + ex.getMessage());
}
Assert.assertEquals(1L, (long) createAutoScaleVmProfileCmd.getEntityId());
when(entityMgr.findById(AutoScaleVmProfile.class, 1L)).thenReturn(autoScaleVmProfile);
when(responseGenerator.createAutoScaleVmProfileResponse(autoScaleVmProfile)).thenReturn(response);
createAutoScaleVmProfileCmd.execute();
AutoScaleVmProfileResponse autoScaleVmProfileResponse = (AutoScaleVmProfileResponse) createAutoScaleVmProfileCmd.getResponseObject();
Assert.assertEquals(createAutoScaleVmProfileCmd.getCommandName(), autoScaleVmProfileResponse.getResponseName());
Assert.assertEquals(userData, ReflectionTestUtils.getField(autoScaleVmProfileResponse, "userData"));
Assert.assertEquals(expungeVmGracePeriod, (int) ReflectionTestUtils.getField(autoScaleVmProfileResponse, "expungeVmGracePeriod"));
}
@Before
public void setUp() {
otherDeployParams.put("0", new HashMap<>(Map.ofEntries(Map.entry("name", "rootdisksize"), Map.entry("value", "10"))));
otherDeployParams.put("1", new HashMap<>(Map.ofEntries(Map.entry("name", "diskofferingid"), Map.entry("value", "2222-3333-4444"))));
otherDeployParams.put("2", new HashMap<>(Map.ofEntries(Map.entry("name", "size"), Map.entry("value", "20"))));
autoScaleService = Mockito.spy(AutoScaleService.class);
entityMgr = Mockito.spy(EntityManager.class);
responseGenerator = Mockito.spy(ResponseGenerator.class);
createAutoScaleVmProfileCmd = new CreateAutoScaleVmProfileCmd();
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "_autoScaleService", autoScaleService);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "_entityMgr", entityMgr);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "_responseGenerator", responseGenerator);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "zoneId", zoneId);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "serviceOfferingId", serviceOfferingId);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "templateId", templateId);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "userData", userData);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "expungeVmGracePeriod", expungeVmGracePeriod);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "autoscaleUserId", autoscaleUserId);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "otherDeployParams", otherDeployParams);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "counterParamList", counterParamList);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "domainId", domainId);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "projectId", projectId);
ReflectionTestUtils.setField(createAutoScaleVmProfileCmd, "accountName", accountName);
autoScaleVmProfile = Mockito.mock(AutoScaleVmProfile.class);
response = new AutoScaleVmProfileResponse();
response.setUserData(userData);
response.setExpungeVmGracePeriod(expungeVmGracePeriod);
}
Reusable Method for MCI (click to expand)
public class MockAutoScaleVmProfile {
public static AutoScaleVmProfile createMockAutoScaleVmProfile() {
AutoScaleVmProfile autoScaleVmProfile = Mockito.mock(AutoScaleVmProfile.class);
when(autoScaleVmProfile.getId()).thenReturn(1L);
when(autoScaleVmProfile.getUuid()).thenReturn("1111-2222-3333-4444");
return autoScaleVmProfile;
}
}
Test Case ID #cloudstack_Test_235_2
Test Case Name: testUpdateAutoScaleVmProfileSuccess(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\test\UpdateAutoScaleVmProfileCmdTest.java)
Mock Object Variable Name: autoScaleVmProfile
Suggested Diff
@@
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "counterParamList", counterParamList);
- autoScaleVmProfile = Mockito.mock(AutoScaleVmProfile.class);
response = new AutoScaleVmProfileResponse();
response.setUserData(userData);
response.setExpungeVmGracePeriod(expungeVmGracePeriod);
@@
@Test
public void testUpdateAutoScaleVmProfileSuccess() {
- when(autoScaleVmProfile.getId()).thenReturn(1L);
- when(autoScaleVmProfile.getUuid()).thenReturn("1111-2222-3333-4444");
+ autoScaleVmProfile = MockAutoScaleVmProfile.createMockAutoScaleVmProfile();
when(autoScaleService.updateAutoScaleVmProfile(updateAutoScaleVmProfileCmd)).thenReturn(autoScaleVmProfile);
when(entityMgr.findById(AutoScaleVmProfile.class, 1L)).thenReturn(autoScaleVmProfile);
when(responseGenerator.createAutoScaleVmProfileResponse(autoScaleVmProfile)).thenReturn(response);
updateAutoScaleVmProfileCmd.execute();
AutoScaleVmProfileResponse autoScaleVmProfileResponse = (AutoScaleVmProfileResponse) updateAutoScaleVmProfileCmd.getResponseObject();
Assert.assertEquals(updateAutoScaleVmProfileCmd.getCommandName(), autoScaleVmProfileResponse.getResponseName());
Assert.assertEquals(userData, ReflectionTestUtils.getField(autoScaleVmProfileResponse, "userData"));
Assert.assertEquals(expungeVmGracePeriod, (int) ReflectionTestUtils.getField(autoScaleVmProfileResponse, "expungeVmGracePeriod"));
}
@@
Original Test Code (click to expand)
@Before
public void setUp() {
otherDeployParams.put("rootdiskdize", "10");
otherDeployParams.put("diskofferingid", "2222-3333-4444");
otherDeployParams.put("size", "20");
autoScaleService = Mockito.spy(AutoScaleService.class);
entityMgr = Mockito.spy(EntityManager.class);
responseGenerator = Mockito.spy(ResponseGenerator.class);
updateAutoScaleVmProfileCmd = new UpdateAutoScaleVmProfileCmd();
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "_autoScaleService", autoScaleService);
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "_entityMgr", entityMgr);
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "_responseGenerator", responseGenerator);
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "id", profileId);
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "serviceOfferingId", serviceOfferingId);
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "templateId", templateId);
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "userData", userData);
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "expungeVmGracePeriod", expungeVmGracePeriod);
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "autoscaleUserId", autoscaleUserId);
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "otherDeployParams", otherDeployParams);
ReflectionTestUtils.setField(updateAutoScaleVmProfileCmd, "counterParamList", counterParamList);
autoScaleVmProfile = Mockito.mock(AutoScaleVmProfile.class);
response = new AutoScaleVmProfileResponse();
response.setUserData(userData);
response.setExpungeVmGracePeriod(expungeVmGracePeriod);
}
@Test
public void testUpdateAutoScaleVmProfileSuccess() {
when(autoScaleVmProfile.getId()).thenReturn(1L);
when(autoScaleVmProfile.getUuid()).thenReturn("1111-2222-3333-4444");
when(autoScaleService.updateAutoScaleVmProfile(updateAutoScaleVmProfileCmd)).thenReturn(autoScaleVmProfile);
when(entityMgr.findById(AutoScaleVmProfile.class, 1L)).thenReturn(autoScaleVmProfile);
when(responseGenerator.createAutoScaleVmProfileResponse(autoScaleVmProfile)).thenReturn(response);
updateAutoScaleVmProfileCmd.execute();
AutoScaleVmProfileResponse autoScaleVmProfileResponse = (AutoScaleVmProfileResponse) updateAutoScaleVmProfileCmd.getResponseObject();
Assert.assertEquals(updateAutoScaleVmProfileCmd.getCommandName(), autoScaleVmProfileResponse.getResponseName());
Assert.assertEquals(userData, ReflectionTestUtils.getField(autoScaleVmProfileResponse, "userData"));
Assert.assertEquals(expungeVmGracePeriod, (int) ReflectionTestUtils.getField(autoScaleVmProfileResponse, "expungeVmGracePeriod"));
}
Reusable Method for MCI (click to expand)
public class MockAutoScaleVmProfile {
public static AutoScaleVmProfile createMockAutoScaleVmProfile() {
AutoScaleVmProfile autoScaleVmProfile = Mockito.mock(AutoScaleVmProfile.class);
when(autoScaleVmProfile.getId()).thenReturn(1L);
when(autoScaleVmProfile.getUuid()).thenReturn("1111-2222-3333-4444");
return autoScaleVmProfile;
}
}
Mock Clone Instance #cloudstack_MCI_236
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.DiskTO
- Test Case Count: 3
- MO Count: 3
Reusable Method
private static DiskTO createMockDiskTO(Volume.Type type) {
DiskTO diskTO = Mockito.mock(DiskTO.class);
when(diskTO.getType()).thenReturn(type);
return diskTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_236_1
Mock Object Variable Name: diskTO
Suggested Diff
@@
final NicTO nicTO = Mockito.mock(NicTO.class);
- final DiskTO diskTO = Mockito.mock(DiskTO.class);
+ final DiskTO diskTO = createMockDiskTO(Volume.Type.ISO);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
- when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
@@
Original Test Code (click to expand)
@Test
public void testPrepareForMigrationCommand() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO diskTO = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
}
Reusable Method for MCI (click to expand)
private static DiskTO createMockDiskTO(Volume.Type type) {
DiskTO diskTO = Mockito.mock(DiskTO.class);
when(diskTO.getType()).thenReturn(type);
return diskTO;
}
Test Case ID #cloudstack_Test_236_2
Mock Object Variable Name: diskTO
Suggested Diff
@@
final NicTO nicTO = Mockito.mock(NicTO.class);
- final DiskTO diskTO = Mockito.mock(DiskTO.class);
+ final DiskTO diskTO = createMockDiskTO(Volume.Type.ISO);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
- when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
when(storagePoolManager.connectPhysicalDisksViaVmSpec(vm)).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
@@
Original Test Code (click to expand)
@Test
public void testPrepareForMigrationCommandMigration() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO diskTO = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { diskTO });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(diskTO.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
when(storagePoolManager.connectPhysicalDisksViaVmSpec(vm)).thenReturn(true);
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertTrue(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(diskTO, times(1)).getType();
}
Reusable Method for MCI (click to expand)
private static DiskTO createMockDiskTO(Volume.Type type) {
DiskTO diskTO = Mockito.mock(DiskTO.class);
when(diskTO.getType()).thenReturn(type);
return diskTO;
}
Test Case ID #cloudstack_Test_236_3
Mock Object Variable Name: volume
Suggested Diff
@@
final NicTO nicTO = Mockito.mock(NicTO.class);
- final DiskTO volume = Mockito.mock(DiskTO.class);
+ final DiskTO volume = createMockDiskTO(Volume.Type.ISO);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { volume });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
- when(volume.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
try {
when(libvirtComputingResourceMock.getVolumePath(conn, volume)).thenThrow(URISyntaxException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(volume, times(1)).getType();
@@
Original Test Code (click to expand)
@SuppressWarnings("unchecked")
@Test
public void testPrepareForMigrationCommandURISyntaxException() {
final Connect conn = Mockito.mock(Connect.class);
final LibvirtUtilitiesHelper libvirtUtilitiesHelper = Mockito.mock(LibvirtUtilitiesHelper.class);
final VirtualMachineTO vm = Mockito.mock(VirtualMachineTO.class);
final KVMStoragePoolManager storagePoolManager = Mockito.mock(KVMStoragePoolManager.class);
final NicTO nicTO = Mockito.mock(NicTO.class);
final DiskTO volume = Mockito.mock(DiskTO.class);
final VifDriver vifDriver = Mockito.mock(VifDriver.class);
final PrepareForMigrationCommand command = new PrepareForMigrationCommand(vm);
when(libvirtComputingResourceMock.getLibvirtUtilitiesHelper()).thenReturn(libvirtUtilitiesHelper);
try {
when(libvirtUtilitiesHelper.getConnectionByVmName(vm.getName())).thenReturn(conn);
} catch (final LibvirtException e) {
fail(e.getMessage());
}
when(vm.getNics()).thenReturn(new NicTO[] { nicTO });
when(vm.getDisks()).thenReturn(new DiskTO[] { volume });
when(nicTO.getType()).thenReturn(TrafficType.Guest);
when(volume.getType()).thenReturn(Volume.Type.ISO);
when(libvirtComputingResourceMock.getVifDriver(nicTO.getType(), nicTO.getName())).thenReturn(vifDriver);
when(libvirtComputingResourceMock.getStoragePoolMgr()).thenReturn(storagePoolManager);
try {
when(libvirtComputingResourceMock.getVolumePath(conn, volume)).thenThrow(URISyntaxException.class);
} catch (final LibvirtException e) {
fail(e.getMessage());
} catch (final URISyntaxException e) {
fail(e.getMessage());
}
final LibvirtRequestWrapper wrapper = LibvirtRequestWrapper.getInstance();
assertNotNull(wrapper);
final Answer answer = wrapper.execute(command, libvirtComputingResourceMock);
assertFalse(answer.getResult());
verify(libvirtComputingResourceMock, times(1)).getLibvirtUtilitiesHelper();
try {
verify(libvirtUtilitiesHelper, times(1)).getConnectionByVmName(vm.getName());
} catch (final LibvirtException e) {
fail(e.getMessage());
}
verify(libvirtComputingResourceMock, times(1)).getStoragePoolMgr();
verify(vm, times(1)).getNics();
verify(vm, times(1)).getDisks();
verify(volume, times(1)).getType();
}
Reusable Method for MCI (click to expand)
private static DiskTO createMockDiskTO(Volume.Type type) {
DiskTO diskTO = Mockito.mock(DiskTO.class);
when(diskTO.getType()).thenReturn(type);
return diskTO;
}
Mock Clone Instance #cloudstack_MCI_237
- Scope: class level
- Mocked Class:
LdapManager
- Test Case Count: 2
- MO Count: 2
Reusable Method
public class MockLdapManager {
public static LdapManager createMockLdapManager(String username, String type, String ldapDomain) {
LdapManager ldapManager = Mockito.mock(LdapManager.class);
when(ldapManager.getUser(username, type, ldapDomain, 1L))
.thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
return ldapManager;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_237_1
Test Case Name: execute(File: C:\Java_projects\Apache\cloudstack\plugins\user-authenticators\ldap\src\test\java\org\apache\cloudstack\api\command\LinkAccountToLdapCmdTest.java)
Mock Object Variable Name: ldapManager
Suggested Diff
@@
LinkAccountToLdapResponse response = new LinkAccountToLdapResponse(String.valueOf(domainId), type, ldapDomain, accountType.ordinal(), username, accountName);
- when(ldapManager.linkAccountToLdap(linkAccountToLdapCmd)).thenReturn(response);
- when(ldapManager.getUser(username, type, ldapDomain, 1L)).thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
+ ldapManager = MockLdapManager.createMockLdapManager(username, type, ldapDomain);
+ when(ldapManager.linkAccountToLdap(linkAccountToLdapCmd)).thenReturn(response);
when(accountService.getActiveAccountByName(username, domainId)).thenReturn(null);
UserAccountVO userAccount = new UserAccountVO();
userAccount.setAccountId(24);
@@
Original Test Code (click to expand)
@Test
public void execute() throws Exception {
long domainId = 1;
String type = "GROUP";
String ldapDomain = "CN=test,DC=ccp,DC=Citrix,DC=com";
Account.Type accountType = Account.Type.DOMAIN_ADMIN;
String username = "admin";
long accountId = 24;
String accountName = "test";
setHiddenField(linkAccountToLdapCmd, "ldapDomain", ldapDomain);
setHiddenField(linkAccountToLdapCmd, "admin", username);
setHiddenField(linkAccountToLdapCmd, "type", type);
setHiddenField(linkAccountToLdapCmd, "domainId", domainId);
setHiddenField(linkAccountToLdapCmd, "accountType", accountType.ordinal());
setHiddenField(linkAccountToLdapCmd, "accountName", accountName);
LinkAccountToLdapResponse response = new LinkAccountToLdapResponse(String.valueOf(domainId), type, ldapDomain, accountType.ordinal(), username, accountName);
when(ldapManager.linkAccountToLdap(linkAccountToLdapCmd)).thenReturn(response);
when(ldapManager.getUser(username, type, ldapDomain, 1L)).thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
when(accountService.getActiveAccountByName(username, domainId)).thenReturn(null);
UserAccountVO userAccount = new UserAccountVO();
userAccount.setAccountId(24);
when(accountService.createUserAccount(eq(username), eq(""), eq("Admin"), eq("Admin"), eq("admin@ccp.citrix.com"), isNull(String.class), eq(username), eq(Account.Type.DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), (java.util.Map<String, String>) isNull(), anyString(), anyString(), eq(User.Source.LDAP))).thenReturn(userAccount);
linkAccountToLdapCmd.execute();
LinkAccountToLdapResponse result = (LinkAccountToLdapResponse) linkAccountToLdapCmd.getResponseObject();
assertEquals("objectName", BaseCmd.getCommandNameByClass(LinkAccountToLdapCmd.class), result.getObjectName());
assertEquals("commandName", linkAccountToLdapCmd.getCommandName(), result.getResponseName());
assertEquals("domainId", String.valueOf(domainId), result.getDomainId());
assertEquals("type", type, result.getType());
assertEquals("name", ldapDomain, result.getLdapDomain());
assertEquals("accountId", String.valueOf(accountId), result.getAdminId());
}
@Before
public void setUp() throws NoSuchFieldException, IllegalAccessException {
linkAccountToLdapCmd = new LinkAccountToLdapCmd();
setHiddenField(linkAccountToLdapCmd, "_ldapManager", ldapManager);
setHiddenField(linkAccountToLdapCmd, "_accountService", accountService);
}
Reusable Method for MCI (click to expand)
public class MockLdapManager {
public static LdapManager createMockLdapManager(String username, String type, String ldapDomain) {
LdapManager ldapManager = Mockito.mock(LdapManager.class);
when(ldapManager.getUser(username, type, ldapDomain, 1L))
.thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
return ldapManager;
}
}
Test Case ID #cloudstack_Test_237_2
Test Case Name: execute(File: C:\Java_projects\Apache\cloudstack\plugins\user-authenticators\ldap\src\test\java\org\apache\cloudstack\api\command\LinkDomainToLdapCmdTest.java)
Mock Object Variable Name: ldapManager
Suggested Diff
@@
setHiddenField(linkDomainToLdapCmd, "type", type);
setHiddenField(linkDomainToLdapCmd, "domainId", domainId);
setHiddenField(linkDomainToLdapCmd, "accountType", accountType.ordinal());
LinkDomainToLdapResponse response = new LinkDomainToLdapResponse(domainId.toString(), type, ldapDomain, accountType.ordinal());
- when(ldapManager.linkDomainToLdap(linkDomainToLdapCmd)).thenReturn(response);
- when(ldapManager.getUser(username, type, ldapDomain, 1L)).thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
+ ldapManager = MockLdapManager.createMockLdapManager(username, type, ldapDomain);
+ when(ldapManager.linkDomainToLdap(linkDomainToLdapCmd)).thenReturn(response);
when(accountService.getActiveAccountByName(username, domainId)).thenReturn(null);
UserAccountVO userAccount = new UserAccountVO();
userAccount.setAccountId(24);
when(accountService.createUserAccount(eq(username), eq(""), eq("Admin"), eq("Admin"), eq("admin@ccp.citrix.com"), isNull(String.class), eq(username), eq(Account.Type.DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), (java.util.Map<String, String>) isNull(), anyString(), anyString(), eq(User.Source.LDAP))).thenReturn(userAccount);
linkDomainToLdapCmd.execute();
@@
Original Test Code (click to expand)
@Before
public void setUp() throws NoSuchFieldException, IllegalAccessException {
linkDomainToLdapCmd = new LinkDomainToLdapCmd();
setHiddenField(linkDomainToLdapCmd, "_ldapManager", ldapManager);
setHiddenField(linkDomainToLdapCmd, "_accountService", accountService);
}
@Test
public void execute() throws Exception {
Long domainId = 1L;
String type = "GROUP";
String ldapDomain = "CN=test,DC=ccp,DC=Citrix,DC=com";
Account.Type accountType = Account.Type.DOMAIN_ADMIN;
String username = "admin";
long accountId = 24;
setHiddenField(linkDomainToLdapCmd, "ldapDomain", ldapDomain);
setHiddenField(linkDomainToLdapCmd, "admin", username);
setHiddenField(linkDomainToLdapCmd, "type", type);
setHiddenField(linkDomainToLdapCmd, "domainId", domainId);
setHiddenField(linkDomainToLdapCmd, "accountType", accountType.ordinal());
LinkDomainToLdapResponse response = new LinkDomainToLdapResponse(domainId.toString(), type, ldapDomain, accountType.ordinal());
when(ldapManager.linkDomainToLdap(linkDomainToLdapCmd)).thenReturn(response);
when(ldapManager.getUser(username, type, ldapDomain, 1L)).thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
when(accountService.getActiveAccountByName(username, domainId)).thenReturn(null);
UserAccountVO userAccount = new UserAccountVO();
userAccount.setAccountId(24);
when(accountService.createUserAccount(eq(username), eq(""), eq("Admin"), eq("Admin"), eq("admin@ccp.citrix.com"), isNull(String.class), eq(username), eq(Account.Type.DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), (java.util.Map<String, String>) isNull(), anyString(), anyString(), eq(User.Source.LDAP))).thenReturn(userAccount);
linkDomainToLdapCmd.execute();
LinkDomainToLdapResponse result = (LinkDomainToLdapResponse) linkDomainToLdapCmd.getResponseObject();
assertEquals("objectName", "LinkDomainToLdap", result.getObjectName());
assertEquals("commandName", linkDomainToLdapCmd.getCommandName(), result.getResponseName());
assertEquals("domainId", domainId.toString(), result.getDomainId());
assertEquals("type", type, result.getType());
assertEquals("name", ldapDomain, result.getLdapDomain());
assertEquals("accountId", String.valueOf(accountId), result.getAdminId());
}
Reusable Method for MCI (click to expand)
public class MockLdapManager {
public static LdapManager createMockLdapManager(String username, String type, String ldapDomain) {
LdapManager ldapManager = Mockito.mock(LdapManager.class);
when(ldapManager.getUser(username, type, ldapDomain, 1L))
.thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null));
return ldapManager;
}
}
Mock Clone Instance #cloudstack_MCI_238
- Scope: method level
- Mocked Class:
org.apache.cloudstack.api.command.user.userdata.LinkUserDataToTemplateCmd
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static LinkUserDataToTemplateCmd createMockLinkUserDataToTemplateCmd(long templateId, UserData.UserDataOverridePolicy userdataPolicy) {
LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
when(cmd.getTemplateId()).thenReturn(templateId);
when(cmd.getUserdataPolicy()).thenReturn(userdataPolicy);
return cmd;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_238_1
Test Case Name: testLinkUserDataToTemplate(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\template\TemplateManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
public void testLinkUserDataToTemplate() {
- LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
- when(cmd.getTemplateId()).thenReturn(1L);
- when(cmd.getIsoId()).thenReturn(null);
- when(cmd.getUserdataId()).thenReturn(2L);
- when(cmd.getUserdataPolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
+ LinkUserDataToTemplateCmd cmd = createMockLinkUserDataToTemplateCmd(1L, UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
+ when(cmd.getIsoId()).thenReturn(null);
+ when(cmd.getUserdataId()).thenReturn(2L);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(_tmpltDao.findById(anyLong())).thenReturn(template);
VirtualMachineTemplate resultTemplate = templateManager.linkUserDataToTemplate(cmd);
Assert.assertEquals(template, resultTemplate);
}
Original Test Code (click to expand)
@Test
public void testLinkUserDataToTemplate() {
LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
when(cmd.getTemplateId()).thenReturn(1L);
when(cmd.getIsoId()).thenReturn(null);
when(cmd.getUserdataId()).thenReturn(2L);
when(cmd.getUserdataPolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(_tmpltDao.findById(anyLong())).thenReturn(template);
VirtualMachineTemplate resultTemplate = templateManager.linkUserDataToTemplate(cmd);
Assert.assertEquals(template, resultTemplate);
}
Reusable Method for MCI (click to expand)
private static LinkUserDataToTemplateCmd createMockLinkUserDataToTemplateCmd(long templateId, UserData.UserDataOverridePolicy userdataPolicy) {
LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
when(cmd.getTemplateId()).thenReturn(templateId);
when(cmd.getUserdataPolicy()).thenReturn(userdataPolicy);
return cmd;
}
Test Case ID #cloudstack_Test_238_2
Test Case Name: testLinkUserDataToTemplateByProvidingBothISOAndTemplateId(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\template\TemplateManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
public void testLinkUserDataToTemplateByProvidingBothISOAndTemplateId() {
- LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
- when(cmd.getTemplateId()).thenReturn(1L);
+ LinkUserDataToTemplateCmd cmd = createMockLinkUserDataToTemplateCmd(1L, UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
when(cmd.getIsoId()).thenReturn(1L);
when(cmd.getUserdataId()).thenReturn(2L);
- when(cmd.getUserdataPolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(_tmpltDao.findById(1L)).thenReturn(template);
templateManager.linkUserDataToTemplate(cmd);
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testLinkUserDataToTemplateByProvidingBothISOAndTemplateId() {
LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
when(cmd.getTemplateId()).thenReturn(1L);
when(cmd.getIsoId()).thenReturn(1L);
when(cmd.getUserdataId()).thenReturn(2L);
when(cmd.getUserdataPolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(_tmpltDao.findById(1L)).thenReturn(template);
templateManager.linkUserDataToTemplate(cmd);
}
Reusable Method for MCI (click to expand)
private static LinkUserDataToTemplateCmd createMockLinkUserDataToTemplateCmd(long templateId, UserData.UserDataOverridePolicy userdataPolicy) {
LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
when(cmd.getTemplateId()).thenReturn(templateId);
when(cmd.getUserdataPolicy()).thenReturn(userdataPolicy);
return cmd;
}
Test Case ID #cloudstack_Test_238_3
Test Case Name: testLinkUserDataToTemplateWhenNoTemplate(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\template\TemplateManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
public void testLinkUserDataToTemplateWhenNoTemplate() {
- LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
- when(cmd.getTemplateId()).thenReturn(1L);
- when(cmd.getIsoId()).thenReturn(null);
- when(cmd.getUserdataId()).thenReturn(2L);
- when(cmd.getUserdataPolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
+ LinkUserDataToTemplateCmd cmd = createMockLinkUserDataToTemplateCmd(1L, UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
+ when(cmd.getIsoId()).thenReturn(null);
+ when(cmd.getUserdataId()).thenReturn(2L);
when(_tmpltDao.findById(anyLong())).thenReturn(null);
templateManager.linkUserDataToTemplate(cmd);
}
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testLinkUserDataToTemplateWhenNoTemplate() {
LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
when(cmd.getTemplateId()).thenReturn(1L);
when(cmd.getIsoId()).thenReturn(null);
when(cmd.getUserdataId()).thenReturn(2L);
when(cmd.getUserdataPolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
when(_tmpltDao.findById(anyLong())).thenReturn(null);
templateManager.linkUserDataToTemplate(cmd);
}
Reusable Method for MCI (click to expand)
private static LinkUserDataToTemplateCmd createMockLinkUserDataToTemplateCmd(long templateId, UserData.UserDataOverridePolicy userdataPolicy) {
LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
when(cmd.getTemplateId()).thenReturn(templateId);
when(cmd.getUserdataPolicy()).thenReturn(userdataPolicy);
return cmd;
}
Test Case ID #cloudstack_Test_238_4
Test Case Name: testUnLinkUserDataToTemplate(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\template\TemplateManagerImplTest.java)
Mock Object Variable Name: cmd
Suggested Diff
@@
public void testUnLinkUserDataToTemplate() {
- LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
- when(cmd.getTemplateId()).thenReturn(1L);
- when(cmd.getIsoId()).thenReturn(null);
- when(cmd.getUserdataId()).thenReturn(null);
- when(cmd.getUserdataPolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
+ LinkUserDataToTemplateCmd cmd = createMockLinkUserDataToTemplateCmd(1L, UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
+ when(cmd.getIsoId()).thenReturn(null);
+ when(cmd.getUserdataId()).thenReturn(null);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(template.getId()).thenReturn(1L);
when(_tmpltDao.findById(1L)).thenReturn(template);
VirtualMachineTemplate resultTemplate = templateManager.linkUserDataToTemplate(cmd);
Assert.assertEquals(template, resultTemplate);
}
Original Test Code (click to expand)
@Test
public void testUnLinkUserDataToTemplate() {
LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
when(cmd.getTemplateId()).thenReturn(1L);
when(cmd.getIsoId()).thenReturn(null);
when(cmd.getUserdataId()).thenReturn(null);
when(cmd.getUserdataPolicy()).thenReturn(UserData.UserDataOverridePolicy.ALLOWOVERRIDE);
VMTemplateVO template = Mockito.mock(VMTemplateVO.class);
when(template.getId()).thenReturn(1L);
when(_tmpltDao.findById(1L)).thenReturn(template);
VirtualMachineTemplate resultTemplate = templateManager.linkUserDataToTemplate(cmd);
Assert.assertEquals(template, resultTemplate);
}
Reusable Method for MCI (click to expand)
private static LinkUserDataToTemplateCmd createMockLinkUserDataToTemplateCmd(long templateId, UserData.UserDataOverridePolicy userdataPolicy) {
LinkUserDataToTemplateCmd cmd = Mockito.mock(LinkUserDataToTemplateCmd.class);
when(cmd.getTemplateId()).thenReturn(templateId);
when(cmd.getUserdataPolicy()).thenReturn(userdataPolicy);
return cmd;
}
Mock Clone Instance #cloudstack_MCI_239
- Scope: method level
- Mocked Class:
com.cloud.network.PublicIpAddress
- Test Case Count: 1
- MO Count: 2
Reusable Method
private static PublicIpAddress createMockPublicIpAddress(Ip address, IpAddress.State state, String netmask) {
PublicIpAddress mockPublicIpAddress = mock(PublicIpAddress.class);
when(mockPublicIpAddress.getAddress()).thenReturn(address);
when(mockPublicIpAddress.getNetmask()).thenReturn(netmask);
when(mockPublicIpAddress.getState()).thenReturn(state);
return mockPublicIpAddress;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_239_1
Test Case Name: applyIpTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: pipReleased
Suggested Diff
@@
final PublicIpAddress pipAllocated = mock(PublicIpAddress.class);
final Ip ipReleased = new Ip("42.10.10.10");
final Ip ipAllocated = new Ip("10.10.10.10");
when(pipAllocated.getState()).thenReturn(IpAddress.State.Allocated);
when(pipAllocated.getAddress()).thenReturn(ipAllocated);
when(pipAllocated.getNetmask()).thenReturn("255.255.255.0");
- final PublicIpAddress pipReleased = mock(PublicIpAddress.class);
- when(pipReleased.getState()).thenReturn(IpAddress.State.Releasing);
- when(pipReleased.getAddress()).thenReturn(ipReleased);
- when(pipReleased.getNetmask()).thenReturn("255.255.255.0");
+ final PublicIpAddress pipReleased = createMockPublicIpAddress(ipReleased, IpAddress.State.Releasing, "255.255.255.0");
ipAddresses.add(pipAllocated);
ipAddresses.add(pipReleased);
final Set<Service> services = new HashSet<Service>();
@@
Original Test Code (click to expand)
@Test
public void applyIpTest() throws ResourceUnavailableException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final List<PublicIpAddress> ipAddresses = new ArrayList<PublicIpAddress>();
final PublicIpAddress pipReleased = mock(PublicIpAddress.class);
final PublicIpAddress pipAllocated = mock(PublicIpAddress.class);
final Ip ipReleased = new Ip("42.10.10.10");
final Ip ipAllocated = new Ip("10.10.10.10");
when(pipAllocated.getState()).thenReturn(IpAddress.State.Allocated);
when(pipAllocated.getAddress()).thenReturn(ipAllocated);
when(pipAllocated.getNetmask()).thenReturn("255.255.255.0");
when(pipReleased.getState()).thenReturn(IpAddress.State.Releasing);
when(pipReleased.getAddress()).thenReturn(ipReleased);
when(pipReleased.getNetmask()).thenReturn("255.255.255.0");
ipAddresses.add(pipAllocated);
ipAddresses.add(pipReleased);
final Set<Service> services = new HashSet<Service>();
services.add(Service.SourceNat);
services.add(Service.StaticNat);
services.add(Service.PortForwarding);
final List<NiciraNvpDeviceVO> deviceList = new ArrayList<NiciraNvpDeviceVO>();
final NiciraNvpDeviceVO nndVO = mock(NiciraNvpDeviceVO.class);
final NiciraNvpRouterMappingVO nnrmVO = mock(NiciraNvpRouterMappingVO.class);
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(nnrmVO);
when(nnrmVO.getLogicalRouterUuid()).thenReturn("abcde");
when(nndVO.getHostId()).thenReturn(NETWORK_ID);
final HostVO hvo = mock(HostVO.class);
when(hvo.getId()).thenReturn(NETWORK_ID);
when(hvo.getDetail("l3gatewayserviceuuid")).thenReturn("abcde");
when(hostDao.findById(NETWORK_ID)).thenReturn(hvo);
deviceList.add(nndVO);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(deviceList);
final ConfigurePublicIpsOnLogicalRouterAnswer answer = mock(ConfigurePublicIpsOnLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NETWORK_ID), any(ConfigurePublicIpsOnLogicalRouterCommand.class))).thenReturn(answer);
assertTrue(element.applyIps(network, ipAddresses, services));
verify(agentManager, atLeast(1)).easySend(eq(NETWORK_ID), argThat(new ArgumentMatcher<ConfigurePublicIpsOnLogicalRouterCommand>() {
@Override
public boolean matches(final ConfigurePublicIpsOnLogicalRouterCommand command) {
return command.getPublicCidrs().size() == 1;
}
}));
}
Reusable Method for MCI (click to expand)
private static PublicIpAddress createMockPublicIpAddress(Ip address, IpAddress.State state, String netmask) {
PublicIpAddress mockPublicIpAddress = mock(PublicIpAddress.class);
when(mockPublicIpAddress.getAddress()).thenReturn(address);
when(mockPublicIpAddress.getNetmask()).thenReturn(netmask);
when(mockPublicIpAddress.getState()).thenReturn(state);
return mockPublicIpAddress;
}
Test Case ID #cloudstack_Test_239_2
Test Case Name: applyIpTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: pipAllocated
Suggested Diff
@@
final PublicIpAddress pipReleased = mock(PublicIpAddress.class);
- final PublicIpAddress pipAllocated = mock(PublicIpAddress.class);
final Ip ipReleased = new Ip("42.10.10.10");
final Ip ipAllocated = new Ip("10.10.10.10");
+ final PublicIpAddress pipAllocated = createMockPublicIpAddress(ipAllocated, IpAddress.State.Allocated, "255.255.255.0");
- when(pipAllocated.getState()).thenReturn(IpAddress.State.Allocated);
- when(pipAllocated.getAddress()).thenReturn(ipAllocated);
- when(pipAllocated.getNetmask()).thenReturn("255.255.255.0");
when(pipReleased.getState()).thenReturn(IpAddress.State.Releasing);
when(pipReleased.getAddress()).thenReturn(ipReleased);
when(pipReleased.getNetmask()).thenReturn("255.255.255.0");
@@
Original Test Code (click to expand)
@Test
public void applyIpTest() throws ResourceUnavailableException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final List<PublicIpAddress> ipAddresses = new ArrayList<PublicIpAddress>();
final PublicIpAddress pipReleased = mock(PublicIpAddress.class);
final PublicIpAddress pipAllocated = mock(PublicIpAddress.class);
final Ip ipReleased = new Ip("42.10.10.10");
final Ip ipAllocated = new Ip("10.10.10.10");
when(pipAllocated.getState()).thenReturn(IpAddress.State.Allocated);
when(pipAllocated.getAddress()).thenReturn(ipAllocated);
when(pipAllocated.getNetmask()).thenReturn("255.255.255.0");
when(pipReleased.getState()).thenReturn(IpAddress.State.Releasing);
when(pipReleased.getAddress()).thenReturn(ipReleased);
when(pipReleased.getNetmask()).thenReturn("255.255.255.0");
ipAddresses.add(pipAllocated);
ipAddresses.add(pipReleased);
final Set<Service> services = new HashSet<Service>();
services.add(Service.SourceNat);
services.add(Service.StaticNat);
services.add(Service.PortForwarding);
final List<NiciraNvpDeviceVO> deviceList = new ArrayList<NiciraNvpDeviceVO>();
final NiciraNvpDeviceVO nndVO = mock(NiciraNvpDeviceVO.class);
final NiciraNvpRouterMappingVO nnrmVO = mock(NiciraNvpRouterMappingVO.class);
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(nnrmVO);
when(nnrmVO.getLogicalRouterUuid()).thenReturn("abcde");
when(nndVO.getHostId()).thenReturn(NETWORK_ID);
final HostVO hvo = mock(HostVO.class);
when(hvo.getId()).thenReturn(NETWORK_ID);
when(hvo.getDetail("l3gatewayserviceuuid")).thenReturn("abcde");
when(hostDao.findById(NETWORK_ID)).thenReturn(hvo);
deviceList.add(nndVO);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(deviceList);
final ConfigurePublicIpsOnLogicalRouterAnswer answer = mock(ConfigurePublicIpsOnLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NETWORK_ID), any(ConfigurePublicIpsOnLogicalRouterCommand.class))).thenReturn(answer);
assertTrue(element.applyIps(network, ipAddresses, services));
verify(agentManager, atLeast(1)).easySend(eq(NETWORK_ID), argThat(new ArgumentMatcher<ConfigurePublicIpsOnLogicalRouterCommand>() {
@Override
public boolean matches(final ConfigurePublicIpsOnLogicalRouterCommand command) {
return command.getPublicCidrs().size() == 1;
}
}));
}
Reusable Method for MCI (click to expand)
private static PublicIpAddress createMockPublicIpAddress(Ip address, IpAddress.State state, String netmask) {
PublicIpAddress mockPublicIpAddress = mock(PublicIpAddress.class);
when(mockPublicIpAddress.getAddress()).thenReturn(address);
when(mockPublicIpAddress.getNetmask()).thenReturn(netmask);
when(mockPublicIpAddress.getState()).thenReturn(state);
return mockPublicIpAddress;
}
Mock Clone Instance #cloudstack_MCI_240
- Scope: class level
- Mocked Class:
com.cloud.offering.NetworkOffering
- Test Case Count: 6
- MO Count: 6
Reusable Method
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long id, Networks.TrafficType trafficType, Network.GuestType guestType) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(id);
when(offering.getTrafficType()).thenReturn(trafficType);
when(offering.getGuestType()).thenReturn(guestType);
return offering;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_240_1
Test Case Name: implementTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\cisco-vnmc\src\test\java\com\cloud\network\element\CiscoVnmcElementTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(network.getCidr()).thenReturn("1.1.1.0/24");
- NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(1L);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(1L, TrafficType.Guest, GuestType.Isolated);
DeployDestination dest = mock(DeployDestination.class);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("d1");
@@
Original Test Code (click to expand)
@Test
public void implementTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
URI uri = URI.create("vlan://123");
Network network = mock(Network.class);
when(network.getId()).thenReturn(1L);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vlan);
when(network.getDataCenterId()).thenReturn(1L);
when(network.getGateway()).thenReturn("1.1.1.1");
when(network.getBroadcastUri()).thenReturn(uri);
when(network.getCidr()).thenReturn("1.1.1.0/24");
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(1L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
DeployDestination dest = mock(DeployDestination.class);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("d1");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("a1");
ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
DataCenter dc = mock(DataCenter.class);
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
when(_entityMgr.findById(DataCenter.class, network.getDataCenterId())).thenReturn(dc);
List<CiscoVnmcControllerVO> devices = new ArrayList<CiscoVnmcControllerVO>();
devices.add(mock(CiscoVnmcControllerVO.class));
when(_ciscoVnmcDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(devices);
CiscoAsa1000vDeviceVO asaVO = mock(CiscoAsa1000vDeviceVO.class);
when(asaVO.getInPortProfile()).thenReturn("foo");
when(asaVO.getManagementIp()).thenReturn("1.2.3.4");
List<CiscoAsa1000vDeviceVO> asaList = new ArrayList<CiscoAsa1000vDeviceVO>();
asaList.add(asaVO);
when(_ciscoAsa1000vDao.listByPhysicalNetwork(network.getPhysicalNetworkId())).thenReturn(asaList);
when(_networkAsa1000vMapDao.findByNetworkId(network.getId())).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkAsa1000vMapDao.findByAsa1000vId(anyLong())).thenReturn(null);
when(_networkAsa1000vMapDao.persist(any(NetworkAsa1000vMapVO.class))).thenReturn(mock(NetworkAsa1000vMapVO.class));
when(_networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, Provider.CiscoVnmc)).thenReturn(true);
ClusterVSMMapVO clusterVsmMap = mock(ClusterVSMMapVO.class);
when(_clusterVsmMapDao.findByClusterId(anyLong())).thenReturn(clusterVsmMap);
CiscoNexusVSMDeviceVO vsmDevice = mock(CiscoNexusVSMDeviceVO.class);
when(vsmDevice.getUserName()).thenReturn("foo");
when(vsmDevice.getPassword()).thenReturn("bar");
when(vsmDevice.getipaddr()).thenReturn("1.2.3.4");
when(_vsmDeviceDao.findById(anyLong())).thenReturn(vsmDevice);
HostVO hostVO = mock(HostVO.class);
when(hostVO.getId()).thenReturn(1L);
when(_hostDao.findById(anyLong())).thenReturn(hostVO);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("1.2.3.4");
PublicIp publicIp = mock(PublicIp.class);
when(publicIp.getAddress()).thenReturn(ip);
when(publicIp.getState()).thenReturn(IpAddress.State.Releasing);
when(publicIp.getAccountId()).thenReturn(1L);
when(publicIp.isSourceNat()).thenReturn(true);
when(publicIp.getVlanTag()).thenReturn("123");
when(publicIp.getGateway()).thenReturn("1.1.1.1");
when(publicIp.getNetmask()).thenReturn("1.1.1.1");
when(publicIp.getMacAddress()).thenReturn(null);
when(publicIp.isOneToOneNat()).thenReturn(true);
when(_ipAddrMgr.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(publicIp);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanGateway()).thenReturn("1.1.1.1");
List<VlanVO> vlanVOList = new ArrayList<VlanVO>();
when(_vlanDao.listVlansByPhysicalNetworkId(network.getPhysicalNetworkId())).thenReturn(vlanVOList);
Answer answer = mock(Answer.class);
when(answer.getResult()).thenReturn(true);
when(_agentMgr.easySend(anyLong(), any(CreateLogicalEdgeFirewallCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(ConfigureNexusVsmForAsaCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(SetSourceNatCommand.class))).thenReturn(answer);
when(_agentMgr.easySend(anyLong(), any(AssociateAsaWithLogicalEdgeFirewallCommand.class))).thenReturn(answer);
assertTrue(_element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long id, Networks.TrafficType trafficType, Network.GuestType guestType) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(id);
when(offering.getTrafficType()).thenReturn(trafficType);
when(offering.getGuestType()).thenReturn(guestType);
return offering;
}
}
Test Case ID #cloudstack_Test_240_2
Test Case Name: implementIsolatedNetworkTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
@@
Original Test Code (click to expand)
@Test
public void implementIsolatedNetworkTest() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException, URISyntaxException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Isolated);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(networkModel.isProviderSupportServiceInNetwork(NETWORK_ID, Service.SourceNat, Provider.NiciraNvp)).thenReturn(true);
PublicIp sourceNatIp = mock(PublicIp.class);
Ip ip = mock(Ip.class);
when(ip.addr()).thenReturn("10.0.0.0");
when(sourceNatIp.getAddress()).thenReturn(ip);
when(sourceNatIp.getVlanNetmask()).thenReturn("255.255.255.0");
when(sourceNatIp.getVlanTag()).thenReturn("111");
when(ipAddressManager.assignSourceNatIpAddressToGuestNetwork(acc, network)).thenReturn(sourceNatIp);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
final CreateLogicalRouterAnswer answer = mock(CreateLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long id, Networks.TrafficType trafficType, Network.GuestType guestType) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(id);
when(offering.getTrafficType()).thenReturn(trafficType);
when(offering.getGuestType()).thenReturn(guestType);
return offering;
}
}
Test Case ID #cloudstack_Test_240_3
Test Case Name: applyIpTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
final List<PublicIpAddress> ipAddresses = new ArrayList<PublicIpAddress>();
@@
Original Test Code (click to expand)
@Test
public void applyIpTest() throws ResourceUnavailableException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final List<PublicIpAddress> ipAddresses = new ArrayList<PublicIpAddress>();
final PublicIpAddress pipReleased = mock(PublicIpAddress.class);
final PublicIpAddress pipAllocated = mock(PublicIpAddress.class);
final Ip ipReleased = new Ip("42.10.10.10");
final Ip ipAllocated = new Ip("10.10.10.10");
when(pipAllocated.getState()).thenReturn(IpAddress.State.Allocated);
when(pipAllocated.getAddress()).thenReturn(ipAllocated);
when(pipAllocated.getNetmask()).thenReturn("255.255.255.0");
when(pipReleased.getState()).thenReturn(IpAddress.State.Releasing);
when(pipReleased.getAddress()).thenReturn(ipReleased);
when(pipReleased.getNetmask()).thenReturn("255.255.255.0");
ipAddresses.add(pipAllocated);
ipAddresses.add(pipReleased);
final Set<Service> services = new HashSet<Service>();
services.add(Service.SourceNat);
services.add(Service.StaticNat);
services.add(Service.PortForwarding);
final List<NiciraNvpDeviceVO> deviceList = new ArrayList<NiciraNvpDeviceVO>();
final NiciraNvpDeviceVO nndVO = mock(NiciraNvpDeviceVO.class);
final NiciraNvpRouterMappingVO nnrmVO = mock(NiciraNvpRouterMappingVO.class);
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(nnrmVO);
when(nnrmVO.getLogicalRouterUuid()).thenReturn("abcde");
when(nndVO.getHostId()).thenReturn(NETWORK_ID);
final HostVO hvo = mock(HostVO.class);
when(hvo.getId()).thenReturn(NETWORK_ID);
when(hvo.getDetail("l3gatewayserviceuuid")).thenReturn("abcde");
when(hostDao.findById(NETWORK_ID)).thenReturn(hvo);
deviceList.add(nndVO);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(deviceList);
final ConfigurePublicIpsOnLogicalRouterAnswer answer = mock(ConfigurePublicIpsOnLogicalRouterAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NETWORK_ID), any(ConfigurePublicIpsOnLogicalRouterCommand.class))).thenReturn(answer);
assertTrue(element.applyIps(network, ipAddresses, services));
verify(agentManager, atLeast(1)).easySend(eq(NETWORK_ID), argThat(new ArgumentMatcher<ConfigurePublicIpsOnLogicalRouterCommand>() {
@Override
public boolean matches(final ConfigurePublicIpsOnLogicalRouterCommand command) {
return command.getPublicCidrs().size() == 1;
}
}));
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long id, Networks.TrafficType trafficType, Network.GuestType guestType) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(id);
when(offering.getTrafficType()).thenReturn(trafficType);
when(offering.getGuestType()).thenReturn(guestType);
return offering;
}
}
Test Case ID #cloudstack_Test_240_4
Test Case Name: implementSharedNetworkUuidVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Shared);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
@@
Original Test Code (click to expand)
@Test
public void implementSharedNetworkUuidVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(true);
when(network.getCidr()).thenReturn(NETWORK_CIDR);
when(network.getGateway()).thenReturn(NETWORK_GATEWAY);
NiciraNvpRouterMappingVO mapping = mock(NiciraNvpRouterMappingVO.class);
when(mapping.getLogicalRouterUuid()).thenReturn("xxxx-xxxx-xxxx");
when(niciraNvpRouterMappingDao.findByNetworkId(NETWORK_ID)).thenReturn(mapping);
final ConfigureSharedNetworkUuidAnswer answer = mock(ConfigureSharedNetworkUuidAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long id, Networks.TrafficType trafficType, Network.GuestType guestType) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(id);
when(offering.getTrafficType()).thenReturn(trafficType);
when(offering.getGuestType()).thenReturn(guestType);
return offering;
}
}
Test Case ID #cloudstack_Test_240_5
Test Case Name: implementSharedNetworkNumericalVlanIdTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Shared);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
@@
Original Test Code (click to expand)
@Test
public void implementSharedNetworkNumericalVlanIdTest() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn("bbbb-bbbb-bbbb");
final ConfigureSharedNetworkVlanIdAnswer answer = mock(ConfigureSharedNetworkVlanIdAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentManager.easySend(eq(NICIRA_NVP_HOST_ID), (Command) any())).thenReturn(answer);
assertTrue(element.implement(network, offering, dest, context));
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long id, Networks.TrafficType trafficType, Network.GuestType guestType) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(id);
when(offering.getTrafficType()).thenReturn(trafficType);
when(offering.getGuestType()).thenReturn(guestType);
return offering;
}
}
Test Case ID #cloudstack_Test_240_6
Test Case Name: implementSharedNetworkNumericalVlanIdWithoutL2GatewayService(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\element\NiciraNvpElementTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Shared);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
@@
Original Test Code (click to expand)
@Test(expected = CloudRuntimeException.class)
public void implementSharedNetworkNumericalVlanIdWithoutL2GatewayService() throws URISyntaxException, ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
final Network network = mock(Network.class);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getGuestType()).thenReturn(GuestType.Shared);
when(networkModel.isProviderForNetwork(Provider.NiciraNvp, NETWORK_ID)).thenReturn(true);
when(ntwkSrvcDao.canProviderSupportServiceInNetwork(NETWORK_ID, Service.Connectivity, Provider.NiciraNvp)).thenReturn(true);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(niciraNvpDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
when(device.getHostId()).thenReturn(NICIRA_NVP_HOST_ID);
HostVO niciraNvpHost = mock(HostVO.class);
when(niciraNvpHost.getId()).thenReturn(NICIRA_NVP_HOST_ID);
when(hostDao.findById(NICIRA_NVP_HOST_ID)).thenReturn(niciraNvpHost);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
final DeployDestination dest = mock(DeployDestination.class);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext context = mock(ReservationContext.class);
when(context.getDomain()).thenReturn(dom);
when(context.getAccount()).thenReturn(acc);
when(niciraNvpRouterMappingDao.existsMappingForNetworkId(NETWORK_ID)).thenReturn(false);
VlanVO vlanVO = mock(VlanVO.class);
when(vlanVO.getVlanTag()).thenReturn("111");
when(vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Arrays.asList(new VlanVO[] { vlanVO }));
when(niciraNvpHost.getDetail("l2gatewayserviceuuid")).thenReturn(null);
element.implement(network, offering, dest, context);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long id, Networks.TrafficType trafficType, Network.GuestType guestType) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(id);
when(offering.getTrafficType()).thenReturn(trafficType);
when(offering.getGuestType()).thenReturn(guestType);
return offering;
}
}
Mock Clone Instance #cloudstack_MCI_241
- Scope: method level
- Mocked Class:
com.cloud.offering.NetworkOffering
- Test Case Count: 4
- MO Count: 4
Reusable Method
private static NetworkOffering createMockNetworkOffering(Network.GuestType guestType) {
NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
Mockito.when(networkOffering.getGuestType()).thenReturn(guestType);
return networkOffering;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_241_1
Test Case Name: testGetPhysicalNetworkIdForAssociatedNetIdForNonSharedNet(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\network\CreateNetworkCmdTest.java)
Mock Object Variable Name: networkOffering
Suggested Diff
@@
Long networkOfferingId = 1L;
Long associatedNetworkId = 1L;
ReflectionTestUtils.setField(cmd, "networkOfferingId", networkOfferingId);
ReflectionTestUtils.setField(cmd, "associatedNetworkId", associatedNetworkId);
- NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
+ NetworkOffering networkOffering = createMockNetworkOffering(Network.GuestType.Isolated);
Network network = Mockito.mock(Network.class);
ReflectionTestUtils.setField(cmd, "physicalNetworkId", physicalNetworkId);
Mockito.when(_entityMgr.findById(NetworkOffering.class, networkOfferingId)).thenReturn(networkOffering);
Mockito.when(_entityMgr.findById(Network.class, associatedNetworkId)).thenReturn(network);
- Mockito.when(networkOffering.getGuestType()).thenReturn(Network.GuestType.Isolated);
try {
cmd.getPhysicalNetworkId();
} catch (Exception e) {
Assert.assertTrue(e.getMessage().startsWith("Associated network ID can be specified for networks of guest IP type Shared only"));
}
@@
Original Test Code (click to expand)
public void testGetPhysicalNetworkIdForAssociatedNetIdForNonSharedNet() {
Long physicalNetworkId = 1L;
Long networkOfferingId = 1L;
Long associatedNetworkId = 1L;
ReflectionTestUtils.setField(cmd, "networkOfferingId", networkOfferingId);
ReflectionTestUtils.setField(cmd, "associatedNetworkId", associatedNetworkId);
NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
Network network = Mockito.mock(Network.class);
ReflectionTestUtils.setField(cmd, "physicalNetworkId", physicalNetworkId);
Mockito.when(_entityMgr.findById(NetworkOffering.class, networkOfferingId)).thenReturn(networkOffering);
Mockito.when(_entityMgr.findById(Network.class, associatedNetworkId)).thenReturn(network);
Mockito.when(networkOffering.getGuestType()).thenReturn(Network.GuestType.Isolated);
try {
cmd.getPhysicalNetworkId();
} catch (Exception e) {
Assert.assertTrue(e.getMessage().startsWith("Associated network ID can be specified for networks of guest IP type Shared only"));
}
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Network.GuestType guestType) {
NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
Mockito.when(networkOffering.getGuestType()).thenReturn(guestType);
return networkOffering;
}
Test Case ID #cloudstack_Test_241_2
Test Case Name: testGetPhysicalNetworkIdForNonSharedNet(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\network\CreateNetworkCmdTest.java)
Mock Object Variable Name: networkOffering
Suggested Diff
@@
Long networkOfferingId = 1L;
ReflectionTestUtils.setField(cmd, "networkOfferingId", networkOfferingId);
- NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
+ NetworkOffering networkOffering = createMockNetworkOffering(Network.GuestType.Isolated);
ReflectionTestUtils.setField(cmd, "physicalNetworkId", physicalNetworkId);
Mockito.when(_entityMgr.findById(NetworkOffering.class, networkOfferingId)).thenReturn(networkOffering);
- Mockito.when(networkOffering.getGuestType()).thenReturn(Network.GuestType.Isolated);
try {
cmd.getPhysicalNetworkId();
} catch (Exception e) {
Assert.assertTrue(e.getMessage().startsWith("Physical network ID can be specified for networks of guest IP type Shared only"));
}
@@
Original Test Code (click to expand)
public void testGetPhysicalNetworkIdForNonSharedNet() {
Long physicalNetworkId = 1L;
Long networkOfferingId = 1L;
ReflectionTestUtils.setField(cmd, "networkOfferingId", networkOfferingId);
NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
ReflectionTestUtils.setField(cmd, "physicalNetworkId", physicalNetworkId);
Mockito.when(_entityMgr.findById(NetworkOffering.class, networkOfferingId)).thenReturn(networkOffering);
Mockito.when(networkOffering.getGuestType()).thenReturn(Network.GuestType.Isolated);
try {
cmd.getPhysicalNetworkId();
} catch (Exception e) {
Assert.assertTrue(e.getMessage().startsWith("Physical network ID can be specified for networks of guest IP type Shared only"));
}
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Network.GuestType guestType) {
NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
Mockito.when(networkOffering.getGuestType()).thenReturn(guestType);
return networkOffering;
}
Test Case ID #cloudstack_Test_241_3
Test Case Name: testGetPhysicalNetworkIdForSharedNet(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\network\CreateNetworkCmdTest.java)
Mock Object Variable Name: networkOffering
Suggested Diff
@@
Long physicalNetworkId = 1L;
Long networkOfferingId = 1L;
ReflectionTestUtils.setField(cmd, "networkOfferingId", networkOfferingId);
- NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
+ NetworkOffering networkOffering = createMockNetworkOffering(Network.GuestType.Shared);
ReflectionTestUtils.setField(cmd, "physicalNetworkId", physicalNetworkId);
Mockito.when(_entityMgr.findById(NetworkOffering.class, networkOfferingId)).thenReturn(networkOffering);
- Mockito.when(networkOffering.getGuestType()).thenReturn(Network.GuestType.Shared);
try {
Assert.assertEquals(cmd.getPhysicalNetworkId(), physicalNetworkId);
} catch (Exception e) {
Assert.fail("Failed to get physical network id");
}
@@
Original Test Code (click to expand)
public void testGetPhysicalNetworkIdForSharedNet() {
Long physicalNetworkId = 1L;
Long networkOfferingId = 1L;
ReflectionTestUtils.setField(cmd, "networkOfferingId", networkOfferingId);
NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
ReflectionTestUtils.setField(cmd, "physicalNetworkId", physicalNetworkId);
Mockito.when(_entityMgr.findById(NetworkOffering.class, networkOfferingId)).thenReturn(networkOffering);
Mockito.when(networkOffering.getGuestType()).thenReturn(Network.GuestType.Shared);
try {
Assert.assertEquals(cmd.getPhysicalNetworkId(), physicalNetworkId);
} catch (Exception e) {
Assert.fail("Failed to get physical network id");
}
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Network.GuestType guestType) {
NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
Mockito.when(networkOffering.getGuestType()).thenReturn(guestType);
return networkOffering;
}
Test Case ID #cloudstack_Test_241_4
Test Case Name: testGetZoneId(File: C:\Java_projects\Apache\cloudstack\api\src\test\java\org\apache\cloudstack\api\command\user\network\CreateNetworkCmdTest.java)
Mock Object Variable Name: networkOffering
Suggested Diff
@@
Long physicalNetworkId = 1L;
Long networkOfferingId = 1L;
ReflectionTestUtils.setField(cmd, "networkOfferingId", networkOfferingId);
- NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
ReflectionTestUtils.setField(cmd, "physicalNetworkId", physicalNetworkId);
+ NetworkOffering networkOffering = createMockNetworkOffering(Network.GuestType.Shared);
Mockito.when(_entityMgr.findById(NetworkOffering.class, networkOfferingId)).thenReturn(networkOffering);
- Mockito.when(networkOffering.getGuestType()).thenReturn(Network.GuestType.Shared);
Long zoneId = 1L;
ReflectionTestUtils.setField(cmd, "zoneId", zoneId);
Assert.assertEquals(cmd.getZoneId(), zoneId);
@@
Original Test Code (click to expand)
public void testGetZoneId() {
Long physicalNetworkId = 1L;
Long networkOfferingId = 1L;
ReflectionTestUtils.setField(cmd, "networkOfferingId", networkOfferingId);
NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
ReflectionTestUtils.setField(cmd, "physicalNetworkId", physicalNetworkId);
Mockito.when(_entityMgr.findById(NetworkOffering.class, networkOfferingId)).thenReturn(networkOffering);
Mockito.when(networkOffering.getGuestType()).thenReturn(Network.GuestType.Shared);
Long zoneId = 1L;
ReflectionTestUtils.setField(cmd, "zoneId", zoneId);
Assert.assertEquals(cmd.getZoneId(), zoneId);
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Network.GuestType guestType) {
NetworkOffering networkOffering = Mockito.mock(NetworkOffering.class);
Mockito.when(networkOffering.getGuestType()).thenReturn(guestType);
return networkOffering;
}
Mock Clone Instance #cloudstack_MCI_242
- Scope: class level
- Mocked Class:
com.cloud.offering.NetworkOffering
- Test Case Count: 15
- MO Count: 24
Reusable Method
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_242_1
Test Case Name: testCanHandle(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
public void testCanHandle() {
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
assertTrue(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
// Not supported TrafficType != Guest
when(offering.getTrafficType()).thenReturn(TrafficType.Management);
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
// Not supported: GuestType Shared
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
// Not supported: Basic networking
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
assertFalse(guru.canHandle(offering, NetworkType.Basic, physnet) == true);
// Not supported: IsolationMethod != VCS
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
}
Original Test Code (click to expand)
@Test
public void testCanHandle() {
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
assertTrue(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
when(offering.getTrafficType()).thenReturn(TrafficType.Management);
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
assertFalse(guru.canHandle(offering, NetworkType.Basic, physnet) == true);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_2
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
@@
Original Test Code (click to expand)
@Test
public void testDesign() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Vcs);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_3
Test Case Name: testDesignNoIsolationMethodVCS(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
@@
Original Test Code (click to expand)
@Test
public void testDesignNoIsolationMethodVCS() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_4
Test Case Name: testDesignNoConnectivityInOffering(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
@@
Original Test Code (click to expand)
@Test
public void testDesignNoConnectivityInOffering() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_5
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
mock(DeploymentPlan.class);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_6
Test Case Name: testImplementFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
@@
Original Test Code (click to expand)
@Test
public void testImplementFail() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VCS" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(network.getBroadcastUri()).thenReturn(new URI("vlan://14"));
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
when(guestGuru.implement(network, offering, dest, res)).thenReturn(network);
final CreateNetworkAnswer answer = mock(CreateNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_7
Test Case Name: testTrash(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
@@
Original Test Code (click to expand)
@Test
public void testTrash() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsNetworkVlanMappingVO mapping = mock(BrocadeVcsNetworkVlanMappingVO.class);
when(mapping.getVlanId()).thenReturn(14);
when(vcsmapdao.findByNetworkId(anyLong())).thenReturn(mapping);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = new ArrayList();
devices.add(brocadeDevice);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final DeleteNetworkAnswer answer = mock(DeleteNetworkAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
when(vcsdao.remove((long) anyInt())).thenReturn(true);
final boolean result = guru.trash(network, offering);
assertTrue(result == true);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_8
Test Case Name: testTrashFail(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\brocade-vcs\src\test\java\com\cloud\network\guru\BrocadeVcsGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
@@
Original Test Code (click to expand)
@Test
public void testTrashFail() {
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getId()).thenReturn(NETWORK_ID);
when(network.getDataCenterId()).thenReturn(NETWORK_ID);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final HostVO brocadeHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(brocadeHost);
when(brocadeHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final BrocadeVcsNetworkVlanMappingVO mapping = mock(BrocadeVcsNetworkVlanMappingVO.class);
when(mapping.getVlanId()).thenReturn(14);
when(vcsmapdao.findByNetworkId(anyLong())).thenReturn(mapping);
when(vcsmapdao.remove(anyLong())).thenReturn(true);
final BrocadeVcsDeviceVO brocadeDevice = mock(BrocadeVcsDeviceVO.class);
when(brocadeDevice.getHostId()).thenReturn(NETWORK_ID);
final List<BrocadeVcsDeviceVO> devices = mock(List.class);
when(devices.isEmpty()).thenReturn(true);
when(vcsdao.listByPhysicalNetwork(anyLong())).thenReturn(devices);
final boolean result = guru.trash(network, offering);
assertTrue(result == false);
verify(agentmgr, times(0)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_9
Test Case Name: testCanHandle(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
public void testCanHandle() {
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
assertTrue(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
// Supported: IsolationMethod == VXLAN
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
assertTrue(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
// Not supported TrafficType != Guest
when(offering.getTrafficType()).thenReturn(TrafficType.Management);
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
// Supported: GuestType Shared
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
assertTrue(guru.canHandle(offering, NetworkType.Advanced, physnet));
// Not supported: Basic networking
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
assertFalse(guru.canHandle(offering, NetworkType.Basic, physnet) == true);
// Not supported: IsolationMethod != STT, VXLAN
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
}
Original Test Code (click to expand)
@Test
public void testCanHandle() {
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
assertTrue(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
assertTrue(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
when(offering.getTrafficType()).thenReturn(TrafficType.Management);
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
assertTrue(guru.canHandle(offering, NetworkType.Advanced, physnet));
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
assertFalse(guru.canHandle(offering, NetworkType.Basic, physnet) == true);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_10
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(device.getId()).thenReturn(1L);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
@@
Original Test Code (click to expand)
@Test
public void testDesign() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(true);
when(netmodel.listNetworkOfferingServices(NETWORK_ID)).thenReturn(Arrays.asList(Service.Connectivity));
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Lswitch);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_11
Test Case Name: testDesignNoElementOnPhysicalNetwork(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections.<NiciraNvpDeviceVO>emptyList());
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
@@
Original Test Code (click to expand)
@Test
public void testDesignNoElementOnPhysicalNetwork() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections.<NiciraNvpDeviceVO>emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_12
Test Case Name: testDesignNoIsolationMethodSTT(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections.<NiciraNvpDeviceVO>emptyList());
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
@@
Original Test Code (click to expand)
@Test
public void testDesignNoIsolationMethodSTT() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Collections.<NiciraNvpDeviceVO>emptyList());
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_13
Test Case Name: testDesignNoConnectivityInOffering(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(device.getId()).thenReturn(1L);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
final DeploymentPlan plan = mock(DeploymentPlan.class);
@@
Original Test Code (click to expand)
@Test
public void testDesignNoConnectivityInOffering() {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
final DeploymentPlan plan = mock(DeploymentPlan.class);
final Network network = mock(Network.class);
final Account account = mock(Account.class);
final Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork == null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_14
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_15
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(answer.getLogicalSwitchUuid()).thenReturn("aaaaa");
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_16
Test Case Name: testImplementURIException(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
@@
Original Test Code (click to expand)
@Test
public void testImplementURIException() throws InsufficientVirtualNetworkCapacityException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final CreateLogicalSwitchAnswer answer = mock(CreateLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork == null);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_17
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\nicira-nvp\src\test\java\com\cloud\network\guru\NiciraNvpGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(device.getId()).thenReturn(1L);
- final NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(NETWORK_ID);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ final NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(NETWORK_ID, TrafficType.Guest, GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
@@
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("lswitch:aaaa"));
- when(offering.isSpecifyVlan()).thenReturn(false);
+ when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
verify(implementednetwork, times(1)).setBroadcastUri(null);
@@
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
final PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById((Long) any())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "STT", "VXLAN" }));
when(physnet.getId()).thenReturn(NETWORK_ID);
final NiciraNvpDeviceVO device = mock(NiciraNvpDeviceVO.class);
when(nvpdao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(Arrays.asList(new NiciraNvpDeviceVO[] { device }));
when(device.getId()).thenReturn(1L);
final NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(NETWORK_ID);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
when(nosd.areServicesSupportedByNetworkOffering(NETWORK_ID, Service.Connectivity)).thenReturn(false);
mock(DeploymentPlan.class);
final NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Lswitch);
when(network.getBroadcastUri()).thenReturn(new URI("lswitch:aaaaa"));
when(network.getPhysicalNetworkId()).thenReturn(NETWORK_ID);
when(netdao.findById(NETWORK_ID)).thenReturn(network);
final DeployDestination dest = mock(DeployDestination.class);
final DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
final HostVO niciraHost = mock(HostVO.class);
when(hostdao.findById(anyLong())).thenReturn(niciraHost);
when(niciraHost.getDetail("transportzoneuuid")).thenReturn("aaaa");
when(niciraHost.getDetail("transportzoneisotype")).thenReturn("stt");
when(niciraHost.getId()).thenReturn(NETWORK_ID);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(NETWORK_ID);
final Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
final Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
final ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
final DeleteLogicalSwitchAnswer answer = mock(DeleteLogicalSwitchAnswer.class);
when(answer.getResult()).thenReturn(true);
when(agentmgr.easySend(eq(NETWORK_ID), (Command) any())).thenReturn(answer);
final NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(NETWORK_ID);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("lswitch:aaaa"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(agentmgr, times(1)).easySend(eq(NETWORK_ID), (Command) any());
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_18
Test Case Name: testCanHandle(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
public void testCanHandle() {
- NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(42L);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(42L, TrafficType.Guest, GuestType.Isolated);
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
assertTrue(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
// Not supported TrafficType != Guest
when(offering.getTrafficType()).thenReturn(TrafficType.Management);
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
// Not supported: GuestType Shared
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
// Not supported: Basic networking
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
assertFalse(guru.canHandle(offering, NetworkType.Basic, physnet) == true);
// Not supported: IsolationMethod != VXLAN
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
}
Original Test Code (click to expand)
@Test
public void testCanHandle() {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
assertTrue(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
when(offering.getTrafficType()).thenReturn(TrafficType.Management);
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
assertFalse(guru.canHandle(offering, NetworkType.Basic, physnet) == true);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VLAN" }));
assertFalse(guru.canHandle(offering, NetworkType.Advanced, physnet) == true);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_19
Test Case Name: testDesign(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
- NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(42L);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(42L, TrafficType.Guest, GuestType.Isolated);
DeploymentPlan plan = mock(DeploymentPlan.class);
Network network = mock(Network.class);
Account account = mock(Account.class);
Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Vxlan);
}
Original Test Code (click to expand)
@Test
public void testDesign() {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
DeploymentPlan plan = mock(DeploymentPlan.class);
Network network = mock(Network.class);
Account account = mock(Account.class);
Network designednetwork = guru.design(offering, plan, network, account);
assertTrue(designednetwork != null);
assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Vxlan);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_20
Test Case Name: testImplement(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
- NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(42L);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(42L, TrafficType.Guest, GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
@@
Original Test Code (click to expand)
@Test
public void testImplement() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_21
Test Case Name: testImplementWithCidr(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
- NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(42L);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(42L, TrafficType.Guest, GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
@@
Original Test Code (click to expand)
@Test
public void testImplementWithCidr() throws InsufficientVirtualNetworkCapacityException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getGateway()).thenReturn("10.1.1.1");
when(network.getCidr()).thenReturn("10.1.1.0/24");
when(network.getPhysicalNetworkId()).thenReturn(42L);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
when(dcdao.allocateVnet(anyLong(), anyLong(), anyLong(), (String) any(), eq(true))).thenReturn("42");
doNothing().when(guru).allocateVnetComplete((Network) any(), (NetworkVO) any(), anyLong(), anyLong(), (String) any(), eq("42"));
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
Network implementednetwork = guru.implement(network, offering, dest, res);
assertTrue(implementednetwork != null);
assertTrue(implementednetwork.getCidr().equals("10.1.1.0/24"));
assertTrue(implementednetwork.getGateway().equals("10.1.1.1"));
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_22
Test Case Name: testShutdown(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\vxlan\src\test\java\com\cloud\network\guru\VxlanGuestNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
- NetworkOffering offering = mock(NetworkOffering.class);
- when(offering.getId()).thenReturn(42L);
- when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
- when(offering.getGuestType()).thenReturn(GuestType.Isolated);
+ NetworkOffering offering = MockNetworkOffering.createMockNetworkOffering(42L, TrafficType.Guest, GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
@@
when(implementednetwork.getId()).thenReturn(42L);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
- when(offering.isSpecifyVlan()).thenReturn(false);
+ when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Original Test Code (click to expand)
@Test
public void testShutdown() throws InsufficientVirtualNetworkCapacityException, URISyntaxException {
PhysicalNetworkVO physnet = mock(PhysicalNetworkVO.class);
when(physnetdao.findById(anyLong())).thenReturn(physnet);
when(physnet.getIsolationMethods()).thenReturn(Arrays.asList(new String[] { "VXLAN" }));
when(physnet.getId()).thenReturn(42L);
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(42L);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getGuestType()).thenReturn(GuestType.Isolated);
NetworkVO network = mock(NetworkVO.class);
when(network.getName()).thenReturn("testnetwork");
when(network.getState()).thenReturn(State.Implementing);
when(network.getBroadcastDomainType()).thenReturn(BroadcastDomainType.Vxlan);
when(network.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(network.getPhysicalNetworkId()).thenReturn(42L);
when(netdao.findById(42L)).thenReturn(network);
DeployDestination dest = mock(DeployDestination.class);
DataCenter dc = mock(DataCenter.class);
when(dest.getDataCenter()).thenReturn(dc);
when(netmodel.findPhysicalNetworkId(anyLong(), (String) any(), (TrafficType) any())).thenReturn(42L);
Domain dom = mock(Domain.class);
when(dom.getName()).thenReturn("domain");
Account acc = mock(Account.class);
when(acc.getAccountName()).thenReturn("accountname");
ReservationContext res = mock(ReservationContext.class);
when(res.getDomain()).thenReturn(dom);
when(res.getAccount()).thenReturn(acc);
NetworkProfile implementednetwork = mock(NetworkProfile.class);
when(implementednetwork.getId()).thenReturn(42L);
when(implementednetwork.getBroadcastUri()).thenReturn(new URI("vxlan:12345"));
when(offering.isSpecifyVlan()).thenReturn(false);
guru.shutdown(implementednetwork, offering);
verify(implementednetwork, times(1)).setBroadcastUri(null);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_23
Test Case Name: testCanDesign(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\guru\DirectNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(plan.getPhysicalNetworkId()).thenReturn(1l);
when(physicalNetworkDao.findById(physicalNetwork.getId())).thenReturn(physicalNetwork);
- when(offering.isRedundantRouter()).thenReturn(false);
+ offering = MockNetworkOffering.createMockNetworkOffering(42l, TrafficType.Guest, GuestType.Shared);
+ when(offering.isRedundantRouter()).thenReturn(false);
when(networkModel.areServicesSupportedByNetworkOffering(offering.getId(), Network.Service.SecurityGroup)).thenReturn(true);
assertNotNull(guru.design(offering, plan, network, owner));
}
@@
Original Test Code (click to expand)
@Test
public void testCanDesign() {
when(dcDao.findById(dc.getId())).thenReturn(dc);
when(plan.getDataCenterId()).thenReturn(1l);
when(plan.getPhysicalNetworkId()).thenReturn(1l);
when(physicalNetworkDao.findById(physicalNetwork.getId())).thenReturn(physicalNetwork);
when(offering.isRedundantRouter()).thenReturn(false);
when(networkModel.areServicesSupportedByNetworkOffering(offering.getId(), Network.Service.SecurityGroup)).thenReturn(true);
assertNotNull(guru.design(offering, plan, network, owner));
}
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
guru._ntwkOfferingSrvcDao = ntwkOfferingSrvcDao;
guru._dcDao = dcDao;
guru._physicalNetworkDao = physicalNetworkDao;
guru._networkModel = networkModel;
when(physicalNetwork.getId()).thenReturn(1l);
when(physicalNetwork.getIsolationMethods()).thenReturn(Arrays.asList("VXLAN", "VLAN"));
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
when(dc.getId()).thenReturn(1l);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getId()).thenReturn(42l);
when(ntwkOfferingSrvcDao.isProviderForNetworkOffering(offering.getId(), Network.Provider.NiciraNvp)).thenReturn(false);
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Test Case ID #cloudstack_Test_242_24
Test Case Name: testDesignDns(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\guru\DirectNetworkGuruTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
when(physicalNetworkDao.findById(physicalNetwork.getId())).thenReturn(physicalNetwork);
- when(offering.isRedundantRouter()).thenReturn(false);
+ offering = MockNetworkOffering.createMockNetworkOffering(42l, TrafficType.Guest, GuestType.Shared);
+ when(offering.isRedundantRouter()).thenReturn(false);
when(network.getDns1()).thenReturn(ip4Dns[0]);
when(network.getDns2()).thenReturn(ip4Dns[1]);
Original Test Code (click to expand)
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
guru._ntwkOfferingSrvcDao = ntwkOfferingSrvcDao;
guru._dcDao = dcDao;
guru._physicalNetworkDao = physicalNetworkDao;
guru._networkModel = networkModel;
when(physicalNetwork.getId()).thenReturn(1l);
when(physicalNetwork.getIsolationMethods()).thenReturn(Arrays.asList("VXLAN", "VLAN"));
when(dc.getNetworkType()).thenReturn(NetworkType.Advanced);
when(dc.getId()).thenReturn(1l);
when(offering.getGuestType()).thenReturn(GuestType.Shared);
when(offering.getTrafficType()).thenReturn(TrafficType.Guest);
when(offering.getId()).thenReturn(42l);
when(ntwkOfferingSrvcDao.isProviderForNetworkOffering(offering.getId(), Network.Provider.NiciraNvp)).thenReturn(false);
}
@Test
public void testDesignDns() {
when(dcDao.findById(dc.getId())).thenReturn(dc);
when(plan.getDataCenterId()).thenReturn(1l);
when(plan.getPhysicalNetworkId()).thenReturn(1l);
when(physicalNetworkDao.findById(physicalNetwork.getId())).thenReturn(physicalNetwork);
when(offering.isRedundantRouter()).thenReturn(false);
when(network.getDns1()).thenReturn(ip4Dns[0]);
when(network.getDns2()).thenReturn(ip4Dns[1]);
when(network.getIp6Dns1()).thenReturn(ip6Dns[0]);
when(network.getIp6Dns2()).thenReturn(ip6Dns[1]);
when(networkModel.areServicesSupportedByNetworkOffering(offering.getId(), Network.Service.SecurityGroup)).thenReturn(false);
Network config = guru.design(offering, plan, network, owner);
assertNotNull(config);
assertEquals(ip4Dns[0], config.getDns1());
assertEquals(ip4Dns[1], config.getDns2());
assertEquals(ip6Dns[0], config.getIp6Dns1());
assertEquals(ip6Dns[1], config.getIp6Dns2());
}
Reusable Method for MCI (click to expand)
public class MockNetworkOffering {
public static NetworkOffering createMockNetworkOffering(long idReturn, Networks.TrafficType trafficTypeReturn, Network.GuestType guestTypeReturn) {
NetworkOffering offering = mock(NetworkOffering.class);
when(offering.getId()).thenReturn(idReturn);
when(offering.getTrafficType()).thenReturn(trafficTypeReturn);
when(offering.getGuestType()).thenReturn(guestTypeReturn);
return offering;
}
}
Mock Clone Instance #cloudstack_MCI_243
- Scope: method level
- Mocked Class:
com.cloud.offering.NetworkOffering
- Test Case Count: 7
- MO Count: 7
Reusable Method
private static NetworkOffering createMockNetworkOffering(Long offeringId) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
return offering;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_243_1
Test Case Name: testCheckAndUpdateNetworkNoUpdate(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
NetworkVO network1 = Mockito.mock(NetworkVO.class);
Mockito.when(network1.getDns1()).thenReturn(ip4Dns[0]);
Long offeringId = 1L;
- NetworkOffering offering = Mockito.mock(NetworkOffering.class);
- Mockito.when(offering.getId()).thenReturn(offeringId);
+ NetworkOffering offering = createMockNetworkOffering(offeringId);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(true);
Assert.assertFalse(service.checkAndUpdateNetworkDns(network1, offering, null, null, null, null));
@@
Original Test Code (click to expand)
@Test
public void testCheckAndUpdateNetworkNoUpdate() {
Assert.assertFalse(service.checkAndUpdateNetworkDns(Mockito.mock(NetworkVO.class), Mockito.mock(NetworkOffering.class), null, null, null, null));
NetworkVO network1 = Mockito.mock(NetworkVO.class);
Mockito.when(network1.getDns1()).thenReturn(ip4Dns[0]);
Long offeringId = 1L;
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(true);
Assert.assertFalse(service.checkAndUpdateNetworkDns(network1, offering, null, null, null, null));
Assert.assertFalse(service.checkAndUpdateNetworkDns(network1, Mockito.mock(NetworkOffering.class), ip4Dns[0], null, null, null));
Mockito.when(network1.getIp6Dns1()).thenReturn(ip6Dns[0]);
Assert.assertFalse(service.checkAndUpdateNetworkDns(network1, Mockito.mock(NetworkOffering.class), ip4Dns[0], null, ip6Dns[0], null));
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Long offeringId) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
return offering;
}
Test Case ID #cloudstack_Test_243_2
Test Case Name: testCheckAndUpdateNetworkOfferingChangeReset(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
NetworkVO networkVO = new NetworkVO();
networkVO.setDns1(ip4Dns[0]);
Long offeringId = 1L;
- NetworkOffering offering = Mockito.mock(NetworkOffering.class);
- Mockito.when(offering.getId()).thenReturn(offeringId);
+ NetworkOffering offering = createMockNetworkOffering(offeringId);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(false);
Assert.assertTrue(service.checkAndUpdateNetworkDns(networkVO, offering, null, null, null, null));
Assert.assertNull(networkVO.getDns1());
Assert.assertNull(networkVO.getDns2());
Assert.assertNull(networkVO.getIp6Dns1());
Assert.assertNull(networkVO.getIp6Dns2());
@@
Original Test Code (click to expand)
@Test
public void testCheckAndUpdateNetworkOfferingChangeReset() {
NetworkVO networkVO = new NetworkVO();
networkVO.setDns1(ip4Dns[0]);
Long offeringId = 1L;
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(false);
Assert.assertTrue(service.checkAndUpdateNetworkDns(networkVO, offering, null, null, null, null));
Assert.assertNull(networkVO.getDns1());
Assert.assertNull(networkVO.getDns2());
Assert.assertNull(networkVO.getIp6Dns1());
Assert.assertNull(networkVO.getIp6Dns2());
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Long offeringId) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
return offering;
}
Test Case ID #cloudstack_Test_243_3
Test Case Name: testCheckAndUpdateNetworkDnsServiceFailure(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
NetworkVO networkVO = Mockito.mock(NetworkVO.class);
Mockito.when(networkVO.getVpcId()).thenReturn(null);
Long offeringId = 1L;
- NetworkOffering offering = Mockito.mock(NetworkOffering.class);
- Mockito.when(offering.getId()).thenReturn(offeringId);
- Mockito.when(offering.getGuestType()).thenReturn(Network.GuestType.Shared);
+ NetworkOffering offering = createMockNetworkOffering(offeringId);
+ Mockito.when(offering.getGuestType()).thenReturn(Network.GuestType.Shared);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(false);
service.checkAndUpdateNetworkDns(networkVO, offering, ip4Dns[0], null, null, null);
}
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testCheckAndUpdateNetworkDnsServiceFailure() {
NetworkVO networkVO = Mockito.mock(NetworkVO.class);
Mockito.when(networkVO.getVpcId()).thenReturn(null);
Long offeringId = 1L;
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
Mockito.when(offering.getGuestType()).thenReturn(Network.GuestType.Shared);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(false);
service.checkAndUpdateNetworkDns(networkVO, offering, ip4Dns[0], null, null, null);
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Long offeringId) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
return offering;
}
Test Case ID #cloudstack_Test_243_4
Test Case Name: testCheckAndUpdateNetworkNotSharedIp6Failure(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
Mockito.when(networkVO.getGuestType()).thenReturn(Network.GuestType.Shared);
Long offeringId = 1L;
- NetworkOffering offering = Mockito.mock(NetworkOffering.class);
- Mockito.when(offering.getId()).thenReturn(offeringId);
+ NetworkOffering offering = createMockNetworkOffering(offeringId);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(true);
service.checkAndUpdateNetworkDns(networkVO, offering, null, null, ip6Dns[0], null);
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testCheckAndUpdateNetworkNotSharedIp6Failure() {
NetworkVO networkVO = Mockito.mock(NetworkVO.class);
Mockito.when(networkVO.getVpcId()).thenReturn(null);
Mockito.when(networkVO.getIp6Cidr()).thenReturn(null);
Mockito.when(networkVO.getGuestType()).thenReturn(Network.GuestType.Shared);
Long offeringId = 1L;
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(true);
service.checkAndUpdateNetworkDns(networkVO, offering, null, null, ip6Dns[0], null);
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Long offeringId) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
return offering;
}
Test Case ID #cloudstack_Test_243_5
Test Case Name: testCheckAndUpdateNetworkNotIsolatedIp6Failure(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
Mockito.when(networkVO.getGuestType()).thenReturn(Network.GuestType.Isolated);
Long offeringId = 1L;
- NetworkOffering offering = Mockito.mock(NetworkOffering.class);
- Mockito.when(offering.getId()).thenReturn(offeringId);
+ NetworkOffering offering = createMockNetworkOffering(offeringId);
Mockito.when(networkOfferingDao.isIpv6Supported(offeringId)).thenReturn(false);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(true);
service.checkAndUpdateNetworkDns(networkVO, offering, null, null, ip6Dns[0], null);
}
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testCheckAndUpdateNetworkNotIsolatedIp6Failure() {
NetworkVO networkVO = Mockito.mock(NetworkVO.class);
Mockito.when(networkVO.getVpcId()).thenReturn(null);
Mockito.when(networkVO.getGuestType()).thenReturn(Network.GuestType.Isolated);
Long offeringId = 1L;
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
Mockito.when(networkOfferingDao.isIpv6Supported(offeringId)).thenReturn(false);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(true);
service.checkAndUpdateNetworkDns(networkVO, offering, null, null, ip6Dns[0], null);
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Long offeringId) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
return offering;
}
Test Case ID #cloudstack_Test_243_6
Test Case Name: testCheckAndUpdateNetworkSuccess(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
networkVO.setIp6Cidr("cidr");
Long offeringId = 1L;
- NetworkOffering offering = Mockito.mock(NetworkOffering.class);
- Mockito.when(offering.getId()).thenReturn(offeringId);
+ NetworkOffering offering = createMockNetworkOffering(offeringId);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(true);
boolean updated = service.checkAndUpdateNetworkDns(networkVO, offering, ip4Dns[0], null, ip6Dns[0], null);
Assert.assertTrue(updated);
@@
Original Test Code (click to expand)
@Test
public void testCheckAndUpdateNetworkSuccess() {
NetworkVO networkVO = new NetworkVO();
networkVO.setVpcId(null);
try {
Field id = networkVO.getClass().getDeclaredField("guestType");
id.setAccessible(true);
id.set(networkVO, Network.GuestType.Shared);
} catch (NoSuchFieldException | IllegalAccessException e) {
Assert.fail(String.format("Unable to set network guestType, %s", e.getMessage()));
}
networkVO.setIp6Cidr("cidr");
Long offeringId = 1L;
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(true);
boolean updated = service.checkAndUpdateNetworkDns(networkVO, offering, ip4Dns[0], null, ip6Dns[0], null);
Assert.assertTrue(updated);
Assert.assertEquals(ip4Dns[0], networkVO.getDns1());
Assert.assertNull(networkVO.getDns2());
Assert.assertEquals(ip6Dns[0], networkVO.getIp6Dns1());
Assert.assertNull(networkVO.getIp6Dns2());
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Long offeringId) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
return offering;
}
Test Case ID #cloudstack_Test_243_7
Test Case Name: testCheckAndUpdateNetworkResetSuccess(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
networkVO.setIp6Cidr("cidr");
Long offeringId = 1L;
- NetworkOffering offering = Mockito.mock(NetworkOffering.class);
- Mockito.when(offering.getId()).thenReturn(offeringId);
+ NetworkOffering offering = createMockNetworkOffering(offeringId);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(true);
boolean updated = service.checkAndUpdateNetworkDns(networkVO, offering, "", null, "", null);
Assert.assertTrue(updated);
Assert.assertNull(networkVO.getDns1());
Assert.assertNull(networkVO.getDns2());
Assert.assertNull(networkVO.getIp6Dns1());
Assert.assertNull(networkVO.getIp6Dns2());
}
Original Test Code (click to expand)
@Test
public void testCheckAndUpdateNetworkResetSuccess() {
NetworkVO networkVO = new NetworkVO();
networkVO.setVpcId(null);
networkVO.setDns1(ip4Dns[0]);
networkVO.setIp6Dns1(ip6Dns[0]);
try {
Field id = networkVO.getClass().getDeclaredField("guestType");
id.setAccessible(true);
id.set(networkVO, Network.GuestType.Shared);
} catch (NoSuchFieldException | IllegalAccessException e) {
Assert.fail(String.format("Unable to set network guestType, %s", e.getMessage()));
}
networkVO.setIp6Cidr("cidr");
Long offeringId = 1L;
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
Mockito.when(networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(offeringId, Network.Service.Dns)).thenReturn(true);
boolean updated = service.checkAndUpdateNetworkDns(networkVO, offering, "", null, "", null);
Assert.assertTrue(updated);
Assert.assertNull(networkVO.getDns1());
Assert.assertNull(networkVO.getDns2());
Assert.assertNull(networkVO.getIp6Dns1());
Assert.assertNull(networkVO.getIp6Dns2());
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Long offeringId) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getId()).thenReturn(offeringId);
return offering;
}
Mock Clone Instance #cloudstack_MCI_244
- Scope: method level
- Mocked Class:
com.cloud.offering.NetworkOffering
- Test Case Count: 2
- MO Count: 2
Reusable Method
private static NetworkOffering createMockNetworkOffering(Network.GuestType guestType) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getGuestType()).thenReturn(guestType);
return offering;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_244_1
Test Case Name: testCheckAndUpdateNetworkDnsL2NetworkFailure(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
NetworkVO networkVO = Mockito.mock(NetworkVO.class);
- NetworkOffering offering = Mockito.mock(NetworkOffering.class);
- Mockito.when(offering.getGuestType()).thenReturn(Network.GuestType.L2);
+ NetworkOffering offering = createMockNetworkOffering(Network.GuestType.L2);
service.checkAndUpdateNetworkDns(networkVO, offering, ip4Dns[0], null, null, null);
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testCheckAndUpdateNetworkDnsL2NetworkFailure() {
NetworkVO networkVO = Mockito.mock(NetworkVO.class);
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getGuestType()).thenReturn(Network.GuestType.L2);
service.checkAndUpdateNetworkDns(networkVO, offering, ip4Dns[0], null, null, null);
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Network.GuestType guestType) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getGuestType()).thenReturn(guestType);
return offering;
}
Test Case ID #cloudstack_Test_244_2
Test Case Name: testCheckAndUpdateNetworkDnsVpcTierFailure(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\NetworkServiceImplTest.java)
Mock Object Variable Name: offering
Suggested Diff
@@
NetworkVO networkVO = Mockito.mock(NetworkVO.class);
Mockito.when(networkVO.getVpcId()).thenReturn(1L);
- NetworkOffering offering = Mockito.mock(NetworkOffering.class);
- Mockito.when(offering.getGuestType()).thenReturn(Network.GuestType.Shared);
+ NetworkOffering offering = createMockNetworkOffering(Network.GuestType.Shared);
service.checkAndUpdateNetworkDns(networkVO, offering, ip4Dns[0], null, null, null);
@@
Original Test Code (click to expand)
@Test(expected = InvalidParameterValueException.class)
public void testCheckAndUpdateNetworkDnsVpcTierFailure() {
NetworkVO networkVO = Mockito.mock(NetworkVO.class);
Mockito.when(networkVO.getVpcId()).thenReturn(1L);
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getGuestType()).thenReturn(Network.GuestType.Shared);
service.checkAndUpdateNetworkDns(networkVO, offering, ip4Dns[0], null, null, null);
}
Reusable Method for MCI (click to expand)
private static NetworkOffering createMockNetworkOffering(Network.GuestType guestType) {
NetworkOffering offering = Mockito.mock(NetworkOffering.class);
Mockito.when(offering.getGuestType()).thenReturn(guestType);
return offering;
}
Mock Clone Instance #cloudstack_MCI_245
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.DataMotionStrategy
- Test Case Count: 1
- MO Count: 4
Reusable Method
private static DataMotionStrategy createMockDataMotionStrategy(StrategyPriority priority) {
DataMotionStrategy strategy = mock(DataMotionStrategy.class);
doReturn(priority).when(strategy).canHandle(any(DataObject.class), any(DataObject.class));
return strategy;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_245_1
Test Case Name: testSortDataMotionStrategies(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: cantHandleStrategy
Suggested Diff
@@
@Test
public void testSortDataMotionStrategies() {
- DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
+ DataMotionStrategy cantHandleStrategy = createMockDataMotionStrategy(StrategyPriority.CANT_HANDLE);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
- doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(DataObject.class), any(DataObject.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
@@
Original Test Code (click to expand)
@Test
public void testSortDataMotionStrategies() {
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(DataObject.class), any(DataObject.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static DataMotionStrategy createMockDataMotionStrategy(StrategyPriority priority) {
DataMotionStrategy strategy = mock(DataMotionStrategy.class);
doReturn(priority).when(strategy).canHandle(any(DataObject.class), any(DataObject.class));
return strategy;
}
Test Case ID #cloudstack_Test_245_2
Test Case Name: testSortDataMotionStrategies(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: defaultStrategy
Suggested Diff
@@
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
- DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(DataObject.class), any(DataObject.class));
- doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(DataObject.class), any(DataObject.class));
+ DataMotionStrategy defaultStrategy = createMockDataMotionStrategy(StrategyPriority.DEFAULT);
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(DataObject.class), any(DataObject.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
@@
Original Test Code (click to expand)
@Test
public void testSortDataMotionStrategies() {
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(DataObject.class), any(DataObject.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static DataMotionStrategy createMockDataMotionStrategy(StrategyPriority priority) {
DataMotionStrategy strategy = mock(DataMotionStrategy.class);
doReturn(priority).when(strategy).canHandle(any(DataObject.class), any(DataObject.class));
return strategy;
}
Test Case ID #cloudstack_Test_245_3
Test Case Name: testSortDataMotionStrategies(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: hyperStrategy
Suggested Diff
@@
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
- DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(DataObject.class), any(DataObject.class));
- doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(DataObject.class), any(DataObject.class));
+ DataMotionStrategy hyperStrategy = createMockDataMotionStrategy(StrategyPriority.HYPERVISOR);
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(DataObject.class), any(DataObject.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
@@
Original Test Code (click to expand)
@Test
public void testSortDataMotionStrategies() {
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(DataObject.class), any(DataObject.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static DataMotionStrategy createMockDataMotionStrategy(StrategyPriority priority) {
DataMotionStrategy strategy = mock(DataMotionStrategy.class);
doReturn(priority).when(strategy).canHandle(any(DataObject.class), any(DataObject.class));
return strategy;
}
Test Case ID #cloudstack_Test_245_4
Test Case Name: testSortDataMotionStrategies(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: highestStrategy
Suggested Diff
@@
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
- DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
+ DataMotionStrategy highestStrategy = createMockDataMotionStrategy(StrategyPriority.HIGHEST);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(DataObject.class), any(DataObject.class));
- doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(DataObject.class), any(DataObject.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
@@
Original Test Code (click to expand)
@Test
public void testSortDataMotionStrategies() {
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(DataObject.class), any(DataObject.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(DataObject.class), any(DataObject.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(DataObject.class), mock(DataObject.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static DataMotionStrategy createMockDataMotionStrategy(StrategyPriority priority) {
DataMotionStrategy strategy = mock(DataMotionStrategy.class);
doReturn(priority).when(strategy).canHandle(any(DataObject.class), any(DataObject.class));
return strategy;
}
Mock Clone Instance #cloudstack_MCI_246
- Scope: method level
- Mocked Class:
org.apache.cloudstack.engine.subsystem.api.storage.DataMotionStrategy
- Test Case Count: 1
- MO Count: 4
Reusable Method
private static DataMotionStrategy createMockDataMotionStrategy(StrategyPriority priority) {
DataMotionStrategy strategy = mock(DataMotionStrategy.class);
doReturn(priority).when(strategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
return strategy;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_246_1
Test Case Name: testSortDataMotionStrategies2(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: cantHandleStrategy
Suggested Diff
@@
@Test
@SuppressWarnings("unchecked")
public void testSortDataMotionStrategies2() {
- DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
+ DataMotionStrategy cantHandleStrategy = createMockDataMotionStrategy(StrategyPriority.CANT_HANDLE);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
- doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
@@
Original Test Code (click to expand)
@Test
@SuppressWarnings("unchecked")
public void testSortDataMotionStrategies2() {
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static DataMotionStrategy createMockDataMotionStrategy(StrategyPriority priority) {
DataMotionStrategy strategy = mock(DataMotionStrategy.class);
doReturn(priority).when(strategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
return strategy;
}
Test Case ID #cloudstack_Test_246_2
Test Case Name: testSortDataMotionStrategies2(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: defaultStrategy
Suggested Diff
@@
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
- DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
- doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
+ DataMotionStrategy defaultStrategy = createMockDataMotionStrategy(StrategyPriority.DEFAULT);
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
@@
Original Test Code (click to expand)
@Test
@SuppressWarnings("unchecked")
public void testSortDataMotionStrategies2() {
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static DataMotionStrategy createMockDataMotionStrategy(StrategyPriority priority) {
DataMotionStrategy strategy = mock(DataMotionStrategy.class);
doReturn(priority).when(strategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
return strategy;
}
Test Case ID #cloudstack_Test_246_3
Test Case Name: testSortDataMotionStrategies2(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: hyperStrategy
Suggested Diff
@@
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
- DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
- doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
+ DataMotionStrategy hyperStrategy = createMockDataMotionStrategy(StrategyPriority.HYPERVISOR);
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
@@
Original Test Code (click to expand)
@Test
@SuppressWarnings("unchecked")
public void testSortDataMotionStrategies2() {
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static DataMotionStrategy createMockDataMotionStrategy(StrategyPriority priority) {
DataMotionStrategy strategy = mock(DataMotionStrategy.class);
doReturn(priority).when(strategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
return strategy;
}
Test Case ID #cloudstack_Test_246_4
Test Case Name: testSortDataMotionStrategies2(File: C:\Java_projects\Apache\cloudstack\engine\storage\src\test\java\org\apache\cloudstack\engine\subsystem\api\storage\StrategyPriorityTest.java)
Mock Object Variable Name: highestStrategy
Suggested Diff
@@
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
- DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
- doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
+ DataMotionStrategy highestStrategy = createMockDataMotionStrategy(StrategyPriority.HIGHEST);
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
@@
Original Test Code (click to expand)
@Test
@SuppressWarnings("unchecked")
public void testSortDataMotionStrategies2() {
DataMotionStrategy cantHandleStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy defaultStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy hyperStrategy = mock(DataMotionStrategy.class);
DataMotionStrategy highestStrategy = mock(DataMotionStrategy.class);
doReturn(StrategyPriority.CANT_HANDLE).when(cantHandleStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.DEFAULT).when(defaultStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HYPERVISOR).when(hyperStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
doReturn(StrategyPriority.HIGHEST).when(highestStrategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
List<DataMotionStrategy> strategies = new ArrayList<DataMotionStrategy>(5);
DataMotionStrategy strategy = null;
StorageStrategyFactoryImpl factory = new StorageStrategyFactoryImpl();
factory.setDataMotionStrategies(strategies);
strategies.add(cantHandleStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("A strategy was found when it shouldn't have been.", null, strategy);
strategies.add(defaultStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Default strategy was not picked.", defaultStrategy, strategy);
strategies.add(hyperStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Hypervisor strategy was not picked.", hyperStrategy, strategy);
strategies.add(highestStrategy);
strategy = factory.getDataMotionStrategy(mock(Map.class), mock(Host.class), mock(Host.class));
assertEquals("Highest strategy was not picked.", highestStrategy, strategy);
}
Reusable Method for MCI (click to expand)
private static DataMotionStrategy createMockDataMotionStrategy(StrategyPriority priority) {
DataMotionStrategy strategy = mock(DataMotionStrategy.class);
doReturn(priority).when(strategy).canHandle(any(Map.class), any(Host.class), any(Host.class));
return strategy;
}
Mock Clone Instance #cloudstack_MCI_247
- Scope: method level
- Mocked Class:
com.cloud.storage.Volume
- Test Case Count: 1
- MO Count: 2
Reusable Method
private static Volume createMockVolume(Volume.Type volumeType) {
Volume volume = Mockito.mock(Volume.class);
Mockito.when(volume.getVolumeType()).thenReturn(volumeType);
return volume;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_247_1
Test Case Name: finalizeMigrateForLocalStorageToHaveTargetHostGuid(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\com\cloud\hypervisor\guru\VMwareGuruTest.java)
Mock Object Variable Name: rootVolume
Suggested Diff
@@
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Map<Volume, StoragePool> volumeToPool = new HashMap<>();
- Volume rootVolume = Mockito.mock(Volume.class);
+ Volume rootVolume = createMockVolume(Volume.Type.ROOT);
Volume dataVolume = Mockito.mock(Volume.class);
StoragePool localStorage = Mockito.mock(StoragePool.class);
volumeToPool.put(rootVolume, localStorage);
volumeToPool.put(dataVolume, localStorage);
// prepare localstorage host guid
StoragePoolVO storagePoolVO = Mockito.mock(StoragePoolVO.class);
StoragePoolHostVO storagePoolHostVO = Mockito.mock(StoragePoolHostVO.class);
HostVO hostVO = Mockito.mock(HostVO.class);
Mockito.when(localStorage.getId()).thenReturn(1L);
Mockito.when(vm.getId()).thenReturn(1L);
Mockito.when(_storagePoolDao.findById(1L)).thenReturn(storagePoolVO);
- Mockito.when(rootVolume.getVolumeType()).thenReturn(Volume.Type.ROOT);
Mockito.when(dataVolume.getVolumeType()).thenReturn(Volume.Type.DATADISK);
Mockito.when(localStorage.isLocal()).thenReturn(true);
Pair<Long, Long> clusterAndHost = new Pair<>(1L, 1L);
Mockito.when(vmManager.findClusterAndHostIdForVm(1L)).thenReturn(clusterAndHost);
List<StoragePoolHostVO> storagePoolHostVOS = new ArrayList<>();
storagePoolHostVOS.add(storagePoolHostVO);
Mockito.when(storagePoolHostDao.listByPoolId(1L)).thenReturn(storagePoolHostVOS);
Mockito.when(storagePoolHostVO.getHostId()).thenReturn(2L);
Mockito.when(_hostDao.findById(2L)).thenReturn(hostVO);
Mockito.when(hostVO.getGuid()).thenReturn("HostSystem:host-a@x.x.x.x");
List<Command> commandsList = vMwareGuru.finalizeMigrate(vm, volumeToPool);
MigrateVmToPoolCommand migrateVmToPoolCommand = (MigrateVmToPoolCommand) commandsList.get(0);
Assert.assertEquals("HostSystem:host-a@x.x.x.x", migrateVmToPoolCommand.getHostGuidInTargetCluster());
@@
Original Test Code (click to expand)
@Test
public void finalizeMigrateForLocalStorageToHaveTargetHostGuid() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Map<Volume, StoragePool> volumeToPool = new HashMap<>();
Volume rootVolume = Mockito.mock(Volume.class);
Volume dataVolume = Mockito.mock(Volume.class);
StoragePool localStorage = Mockito.mock(StoragePool.class);
volumeToPool.put(rootVolume, localStorage);
volumeToPool.put(dataVolume, localStorage);
StoragePoolVO storagePoolVO = Mockito.mock(StoragePoolVO.class);
StoragePoolHostVO storagePoolHostVO = Mockito.mock(StoragePoolHostVO.class);
HostVO hostVO = Mockito.mock(HostVO.class);
Mockito.when(localStorage.getId()).thenReturn(1L);
Mockito.when(vm.getId()).thenReturn(1L);
Mockito.when(_storagePoolDao.findById(1L)).thenReturn(storagePoolVO);
Mockito.when(rootVolume.getVolumeType()).thenReturn(Volume.Type.ROOT);
Mockito.when(dataVolume.getVolumeType()).thenReturn(Volume.Type.DATADISK);
Mockito.when(localStorage.isLocal()).thenReturn(true);
Pair<Long, Long> clusterAndHost = new Pair<>(1L, 1L);
Mockito.when(vmManager.findClusterAndHostIdForVm(1L)).thenReturn(clusterAndHost);
List<StoragePoolHostVO> storagePoolHostVOS = new ArrayList<>();
storagePoolHostVOS.add(storagePoolHostVO);
Mockito.when(storagePoolHostDao.listByPoolId(1L)).thenReturn(storagePoolHostVOS);
Mockito.when(storagePoolHostVO.getHostId()).thenReturn(2L);
Mockito.when(_hostDao.findById(2L)).thenReturn(hostVO);
Mockito.when(hostVO.getGuid()).thenReturn("HostSystem:host-a@x.x.x.x");
List<Command> commandsList = vMwareGuru.finalizeMigrate(vm, volumeToPool);
MigrateVmToPoolCommand migrateVmToPoolCommand = (MigrateVmToPoolCommand) commandsList.get(0);
Assert.assertEquals("HostSystem:host-a@x.x.x.x", migrateVmToPoolCommand.getHostGuidInTargetCluster());
}
Reusable Method for MCI (click to expand)
private static Volume createMockVolume(Volume.Type volumeType) {
Volume volume = Mockito.mock(Volume.class);
Mockito.when(volume.getVolumeType()).thenReturn(volumeType);
return volume;
}
Test Case ID #cloudstack_Test_247_2
Test Case Name: finalizeMigrateForLocalStorageToHaveTargetHostGuid(File: C:\Java_projects\Apache\cloudstack\plugins\hypervisors\vmware\src\test\java\com\cloud\hypervisor\guru\VMwareGuruTest.java)
Mock Object Variable Name: dataVolume
Suggested Diff
@@
Volume rootVolume = Mockito.mock(Volume.class);
- Volume dataVolume = Mockito.mock(Volume.class);
+ Volume dataVolume = createMockVolume(Volume.Type.DATADISK);
StoragePool localStorage = Mockito.mock(StoragePool.class);
volumeToPool.put(rootVolume, localStorage);
volumeToPool.put(dataVolume, localStorage);
// prepare localstorage host guid
StoragePoolVO storagePoolVO = Mockito.mock(StoragePoolVO.class);
StoragePoolHostVO storagePoolHostVO = Mockito.mock(StoragePoolHostVO.class);
HostVO hostVO = Mockito.mock(HostVO.class);
Mockito.when(localStorage.getId()).thenReturn(1L);
Mockito.when(vm.getId()).thenReturn(1L);
Mockito.when(_storagePoolDao.findById(1L)).thenReturn(storagePoolVO);
Mockito.when(rootVolume.getVolumeType()).thenReturn(Volume.Type.ROOT);
- Mockito.when(dataVolume.getVolumeType()).thenReturn(Volume.Type.DATADISK);
Mockito.when(localStorage.isLocal()).thenReturn(true);
Pair<Long, Long> clusterAndHost = new Pair<>(1L, 1L);
Mockito.when(vmManager.findClusterAndHostIdForVm(1L)).thenReturn(clusterAndHost);
List<StoragePoolHostVO> storagePoolHostVOS = new ArrayList<>();
storagePoolHostVOS.add(storagePoolHostVO);
Mockito.when(storagePoolHostDao.listByPoolId(1L)).thenReturn(storagePoolHostVOS);
Mockito.when(storagePoolHostVO.getHostId()).thenReturn(2L);
Mockito.when(_hostDao.findById(2L)).thenReturn(hostVO);
Mockito.when(hostVO.getGuid()).thenReturn("HostSystem:host-a@x.x.x.x");
List<Command> commandsList = vMwareGuru.finalizeMigrate(vm, volumeToPool);
MigrateVmToPoolCommand migrateVmToPoolCommand = (MigrateVmToPoolCommand) commandsList.get(0);
Assert.assertEquals("HostSystem:host-a@x.x.x.x", migrateVmToPoolCommand.getHostGuidInTargetCluster());
@@
Original Test Code (click to expand)
@Test
public void finalizeMigrateForLocalStorageToHaveTargetHostGuid() {
VirtualMachine vm = Mockito.mock(VirtualMachine.class);
Map<Volume, StoragePool> volumeToPool = new HashMap<>();
Volume rootVolume = Mockito.mock(Volume.class);
Volume dataVolume = Mockito.mock(Volume.class);
StoragePool localStorage = Mockito.mock(StoragePool.class);
volumeToPool.put(rootVolume, localStorage);
volumeToPool.put(dataVolume, localStorage);
StoragePoolVO storagePoolVO = Mockito.mock(StoragePoolVO.class);
StoragePoolHostVO storagePoolHostVO = Mockito.mock(StoragePoolHostVO.class);
HostVO hostVO = Mockito.mock(HostVO.class);
Mockito.when(localStorage.getId()).thenReturn(1L);
Mockito.when(vm.getId()).thenReturn(1L);
Mockito.when(_storagePoolDao.findById(1L)).thenReturn(storagePoolVO);
Mockito.when(rootVolume.getVolumeType()).thenReturn(Volume.Type.ROOT);
Mockito.when(dataVolume.getVolumeType()).thenReturn(Volume.Type.DATADISK);
Mockito.when(localStorage.isLocal()).thenReturn(true);
Pair<Long, Long> clusterAndHost = new Pair<>(1L, 1L);
Mockito.when(vmManager.findClusterAndHostIdForVm(1L)).thenReturn(clusterAndHost);
List<StoragePoolHostVO> storagePoolHostVOS = new ArrayList<>();
storagePoolHostVOS.add(storagePoolHostVO);
Mockito.when(storagePoolHostDao.listByPoolId(1L)).thenReturn(storagePoolHostVOS);
Mockito.when(storagePoolHostVO.getHostId()).thenReturn(2L);
Mockito.when(_hostDao.findById(2L)).thenReturn(hostVO);
Mockito.when(hostVO.getGuid()).thenReturn("HostSystem:host-a@x.x.x.x");
List<Command> commandsList = vMwareGuru.finalizeMigrate(vm, volumeToPool);
MigrateVmToPoolCommand migrateVmToPoolCommand = (MigrateVmToPoolCommand) commandsList.get(0);
Assert.assertEquals("HostSystem:host-a@x.x.x.x", migrateVmToPoolCommand.getHostGuidInTargetCluster());
}
Reusable Method for MCI (click to expand)
private static Volume createMockVolume(Volume.Type volumeType) {
Volume volume = Mockito.mock(Volume.class);
Mockito.when(volume.getVolumeType()).thenReturn(volumeType);
return volume;
}
Mock Clone Instance #cloudstack_MCI_248
- Scope: method level
- Mocked Class:
com.cloud.agent.api.to.LoadBalancerTO.ConditionTO
- Test Case Count: 12
- MO Count: 19
Reusable Method
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
The refactoring details in each test cases
Test Case ID #cloudstack_Test_248_1
Test Case Name: isNativeTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: conditionTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ ConditionTO conditionTO = createMockConditionTO(counterTO);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
- when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertTrue(result);
@@
Original Test Code (click to expand)
@Test
public void isNativeTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_2
Test Case Name: isNativeFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: conditionTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
+ ConditionTO conditionTO = createMockConditionTO(counterTO);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
- when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertFalse(result);
@@
Original Test Code (click to expand)
@Test
public void isNativeFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.isNative(groupTO);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_3
Test Case Name: hasSourceVirtualRouterTrue(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: conditionTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
+ ConditionTO conditionTO = createMockConditionTO(counterTO);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
- when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertTrue(result);
@@
Original Test Code (click to expand)
@Test
public void hasSourceVirtualRouterTrue() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertTrue(result);
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_4
Test Case Name: hasSourceVirtualRouterFalse(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: conditionTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
+ ConditionTO conditionTO = createMockConditionTO(counterTO);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
- when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertFalse(result);
@@
Original Test Code (click to expand)
@Test
public void hasSourceVirtualRouterFalse() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
CounterTO counterTO = Mockito.mock(CounterTO.class);
AutoScaleVmProfileTO profileTO = Mockito.mock(AutoScaleVmProfileTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO));
when(conditionTO.getCounter()).thenReturn(counterTO);
when(counterTO.getSource()).thenReturn(Counter.Source.CPU);
boolean result = autoScaleManagerImplSpy.hasSourceVirtualRouter(groupTO);
Assert.assertFalse(result);
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_5
Test Case Name: getPolicyCounters(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: conditionTO1
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
+ ConditionTO conditionTO1 = createMockConditionTO(counterTO1);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
- when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
Map<Long, List<CounterTO>> result = autoScaleManagerImplSpy.getPolicyCounters(groupTO);
Assert.assertEquals(1, result.size());
List<CounterTO> counters = result.get(scaleUpPolicyId);
Assert.assertEquals(2, counters.size());
Assert.assertTrue(counters.contains(counterTO1));
Assert.assertTrue(counters.contains(counterTO2));
@@
Original Test Code (click to expand)
@Test
public void getPolicyCounters() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
Map<Long, List<CounterTO>> result = autoScaleManagerImplSpy.getPolicyCounters(groupTO);
Assert.assertEquals(1, result.size());
List<CounterTO> counters = result.get(scaleUpPolicyId);
Assert.assertEquals(2, counters.size());
Assert.assertTrue(counters.contains(counterTO1));
Assert.assertTrue(counters.contains(counterTO2));
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_6
Test Case Name: getPolicyCounters(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: conditionTO2
Suggested Diff
@@
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
- ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(conditionTO1.getCounter()).thenReturn(counterTO1);
- when(conditionTO2.getCounter()).thenReturn(counterTO2);
+ ConditionTO conditionTO2 = createMockConditionTO(counterTO2);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
Map<Long, List<CounterTO>> result = autoScaleManagerImplSpy.getPolicyCounters(groupTO);
@@
Original Test Code (click to expand)
@Test
public void getPolicyCounters() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
Map<Long, List<CounterTO>> result = autoScaleManagerImplSpy.getPolicyCounters(groupTO);
Assert.assertEquals(1, result.size());
List<CounterTO> counters = result.get(scaleUpPolicyId);
Assert.assertEquals(2, counters.size());
Assert.assertTrue(counters.contains(counterTO1));
Assert.assertTrue(counters.contains(counterTO2));
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_7
Test Case Name: checkConditionsForPolicy1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: conditionTO1
Suggested Diff
@@
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
+ ConditionTO conditionTO1 = createMockConditionTO(counterTO1);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
- when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.GT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.GE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2).getRelationalOperator();
@@
Original Test Code (click to expand)
@Test
public void checkConditionsForPolicy1() {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.GT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.GE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2).getRelationalOperator();
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_8
Test Case Name: checkConditionsForPolicy1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: conditionTO2
Suggested Diff
@@
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
- ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
+ ConditionTO conditionTO2 = createMockConditionTO(counterTO2);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
- when(conditionTO1.getCounter()).thenReturn(counterTO1);
- when(conditionTO2.getCounter()).thenReturn(counterTO2);
+ when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.GT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.GE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2).getRelationalOperator();
@@
Original Test Code (click to expand)
@Test
public void checkConditionsForPolicy1() {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.GT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.GE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertEquals(AutoScalePolicy.Action.SCALEUP, result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2).getRelationalOperator();
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_9
Test Case Name: checkConditionsForPolicy2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: conditionTO1
Suggested Diff
@@
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
+ ConditionTO conditionTO1 = createMockConditionTO(counterTO1);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
- when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.LT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.LE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertNull(result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2, never()).getRelationalOperator();
@@
Original Test Code (click to expand)
@Test
public void checkConditionsForPolicy2() {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.LT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.LE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertNull(result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2, never()).getRelationalOperator();
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_10
Test Case Name: checkConditionsForPolicy2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: conditionTO2
Suggested Diff
@@
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
- ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
+ ConditionTO conditionTO2 = createMockConditionTO(counterTO2);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
- when(conditionTO1.getCounter()).thenReturn(counterTO1);
- when(conditionTO2.getCounter()).thenReturn(counterTO2);
+ when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.LT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.LE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertNull(result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2, never()).getRelationalOperator();
@@
Original Test Code (click to expand)
@Test
public void checkConditionsForPolicy2() {
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getId()).thenReturn(scaleUpPolicyId);
when(policyTO.getAction()).thenReturn(AutoScalePolicy.Action.SCALEUP);
Long counterId2 = counterId + 1;
Long conditionId2 = conditionId + 1;
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId2);
when(counterTO1.getId()).thenReturn(counterId);
when(counterTO2.getId()).thenReturn(counterId2);
String key1 = policyTO.getId() + "-" + conditionTO1.getId() + "-" + counterTO1.getId();
String key2 = policyTO.getId() + "-" + conditionTO2.getId() + "-" + counterTO2.getId();
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
countersMap.put(key1, (double) 100);
countersNumberMap.put(key1, 2);
countersMap.put(key2, (double) 100);
countersNumberMap.put(key2, 1);
when(conditionTO1.getRelationalOperator()).thenReturn(Condition.Operator.LT);
when(conditionTO2.getRelationalOperator()).thenReturn(Condition.Operator.LE);
when(conditionTO1.getThreshold()).thenReturn(40L);
when(conditionTO2.getThreshold()).thenReturn(60L);
AutoScalePolicy.Action result = autoScaleManagerImplSpy.checkConditionsForPolicy(countersMap, countersNumberMap, policyTO, Network.Provider.VirtualRouter);
Assert.assertNull(result);
Mockito.verify(conditionTO1).getRelationalOperator();
Mockito.verify(conditionTO2, never()).getRelationalOperator();
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_11
Mock Object Variable Name: conditionTO1
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
+ ConditionTO conditionTO1 = createMockConditionTO(counterTO1);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
- when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
@@
Original Test Code (click to expand)
@Test
public void setPerformanceMonitorCommandParams() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_12
Mock Object Variable Name: conditionTO2
Suggested Diff
@@
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
- ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
+ ConditionTO conditionTO2 = createMockConditionTO(counterTO2);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
- when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
- when(conditionTO2.getId()).thenReturn(conditionId + 1L);
+ when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
}
Original Test Code (click to expand)
@Test
public void setPerformanceMonitorCommandParams() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO policyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO conditionTO1 = Mockito.mock(ConditionTO.class);
CounterTO counterTO1 = Mockito.mock(CounterTO.class);
ConditionTO conditionTO2 = Mockito.mock(ConditionTO.class);
CounterTO counterTO2 = Mockito.mock(CounterTO.class);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(policyTO));
when(policyTO.getConditions()).thenReturn(Arrays.asList(conditionTO1, conditionTO2));
when(policyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
when(conditionTO1.getCounter()).thenReturn(counterTO1);
when(conditionTO2.getCounter()).thenReturn(counterTO2);
when(conditionTO1.getId()).thenReturn(conditionId);
when(conditionTO2.getId()).thenReturn(conditionId + 1L);
when(counterTO1.getName()).thenReturn(counterName + "-1");
when(counterTO2.getName()).thenReturn(counterName + "-2");
Map<String, String> params = new LinkedHashMap<>();
autoScaleManagerImplSpy.setPerformanceMonitorCommandParams(groupTO, params);
Assert.assertEquals(7, params.size());
Assert.assertEquals("2", params.get("totalCounter"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration1"));
Assert.assertEquals(String.valueOf(scaleUpPolicyDuration), params.get("duration2"));
Assert.assertEquals(counterName + "-1", params.get("counter1"));
Assert.assertEquals(counterName + "-2", params.get("counter2"));
Assert.assertEquals(String.valueOf(conditionId), params.get("con1"));
Assert.assertEquals(String.valueOf(conditionId + 1L), params.get("con2"));
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_13
Test Case Name: updateCountersMap1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpConditionTO
Suggested Diff
@@
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
- ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
+ ConditionTO scaleUpConditionTO = createMockConditionTO(scaleUpCounterTO);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
- when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
- when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
@@
Original Test Code (click to expand)
@Test
public void updateCountersMap1() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 1, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 2, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 3, AutoScaleValueType.INSTANT_VM, timestamp));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleDownPolicyId), eq(scaleDownCounterId), any())).thenReturn(stats);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(6)).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_14
Test Case Name: updateCountersMap1(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleDownConditionTO
Suggested Diff
@@
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
- ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
+ ConditionTO scaleDownConditionTO = createMockConditionTO(scaleDownCounterTO);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
- when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
@@
Original Test Code (click to expand)
@Test
public void updateCountersMap1() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getDuration()).thenReturn(scaleDownPolicyDuration);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getId()).thenReturn(scaleDownConditionId);
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getId()).thenReturn(scaleDownCounterId);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 1, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 2, AutoScaleValueType.INSTANT_VM, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, virtualMachineId, ResourceTag.ResourceObjectType.UserVm, (double) 3, AutoScaleValueType.INSTANT_VM, timestamp));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleDownPolicyId), eq(scaleDownCounterId), any())).thenReturn(stats);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(6)).updateCountersMapWithInstantData(any(), any(), any(), any(), any(), any(), any(), any());
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_15
Test Case Name: updateCountersMap2(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpConditionTO
Suggested Diff
@@
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
- ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
+ ConditionTO scaleUpConditionTO = createMockConditionTO(scaleUpCounterTO);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
- when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
@@
Original Test Code (click to expand)
@Test
public void updateCountersMap2() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
when(groupTO.getId()).thenReturn(vmGroupId);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getDuration()).thenReturn(scaleUpPolicyDuration);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getId()).thenReturn(scaleUpConditionId);
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getId()).thenReturn(scaleUpCounterId);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO));
when(asGroupStatisticsDao.listDummyRecordsByVmGroup(eq(vmGroupId), any())).thenReturn(new ArrayList<>()).thenReturn(new ArrayList<>());
when(asGroupStatisticsDao.listInactiveByVmGroupAndPolicy(eq(vmGroupId), eq(scaleUpPolicyId), any())).thenReturn(new ArrayList<>());
when(asGroupStatisticsDao.listInactiveByVmGroupAndPolicy(eq(vmGroupId), eq(scaleDownPolicyId), any())).thenReturn(new ArrayList<>());
List<AutoScaleVmGroupStatisticsVO> stats = new ArrayList<>();
Date timestamp = new Date();
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 11, AutoScaleValueType.AGGREGATED_VM_GROUP, timestamp));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 31, AutoScaleValueType.AGGREGATED_VM_GROUP, new Date(timestamp.getTime() + 10 * 1000)));
stats.add(new AutoScaleVmGroupStatisticsVO(vmGroupId, scaleUpPolicyId, scaleUpCounterId, domainRouterId, ResourceTag.ResourceObjectType.DomainRouter, (double) 51, AutoScaleValueType.AGGREGATED_VM_GROUP, new Date(timestamp.getTime() + 20 * 1000)));
when(asGroupStatisticsDao.listByVmGroupAndPolicyAndCounter(eq(vmGroupId), eq(scaleUpPolicyId), eq(scaleUpCounterId), any())).thenReturn(stats);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(1);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).updateCountersMapWithProcessedData(any(), any(), any(), any());
Map<String, Double> countersMap = new HashMap<>();
Map<String, Integer> countersNumberMap = new HashMap<>();
autoScaleManagerImplSpy.updateCountersMap(groupTO, countersMap, countersNumberMap);
Mockito.verify(autoScaleManagerImplSpy, times(1)).updateCountersMapWithProcessedData(any(), any(), any(), eq((double) 2));
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_16
Test Case Name: monitorVirtualRouterAsGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpConditionTO
Suggested Diff
@@
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
+ ConditionTO scaleUpConditionTO = createMockConditionTO(scaleUpCounterTO);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
- when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
@@
Original Test Code (click to expand)
@Test
public void monitorVirtualRouterAsGroup() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(minMembers);
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
autoScaleManagerImplSpy.monitorVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
Mockito.verify(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_17
Test Case Name: monitorVirtualRouterAsGroup(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleDownConditionTO
Suggested Diff
@@
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
+ ConditionTO scaleDownConditionTO = createMockConditionTO(scaleDownCounterTO);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
@@
Original Test Code (click to expand)
@Test
public void monitorVirtualRouterAsGroup() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
when(asVmGroupMock.getId()).thenReturn(vmGroupId);
when(asVmGroupMock.getMinMembers()).thenReturn(minMembers);
when(asVmGroupMock.getMaxMembers()).thenReturn(maxMembers);
when(autoScaleVmGroupVmMapDao.countAvailableVmsByGroup(vmGroupId)).thenReturn(minMembers);
when(lbRulesMgr.toAutoScaleVmGroupTO(asVmGroupMock)).thenReturn(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
PowerMockito.doNothing().when(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
autoScaleManagerImplSpy.monitorVirtualRouterAsGroup(asVmGroupMock);
Mockito.verify(autoScaleManagerImplSpy).getVmStatsFromHosts(groupTO);
Mockito.verify(autoScaleManagerImplSpy).getNetworkStatsFromVirtualRouter(groupTO);
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_18
Test Case Name: setGetAutoScaleMetricsCommandMetrics(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleUpConditionTO
Suggested Diff
@@
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
+ ConditionTO scaleUpConditionTO = createMockConditionTO(scaleUpCounterTO);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
List<VirtualRouterAutoScale.AutoScaleMetrics> result = autoScaleManagerImplSpy.setGetAutoScaleMetricsCommandMetrics(groupTO);
Assert.assertEquals(2, result.size());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, result.get(0).getCounter());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, result.get(1).getCounter());
@@
Original Test Code (click to expand)
@Test
public void setGetAutoScaleMetricsCommandMetrics() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
List<VirtualRouterAutoScale.AutoScaleMetrics> result = autoScaleManagerImplSpy.setGetAutoScaleMetricsCommandMetrics(groupTO);
Assert.assertEquals(2, result.size());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, result.get(0).getCounter());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, result.get(1).getCounter());
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Test Case ID #cloudstack_Test_248_19
Test Case Name: setGetAutoScaleMetricsCommandMetrics(File: C:\Java_projects\Apache\cloudstack\server\src\test\java\com\cloud\network\as\AutoScaleManagerImplTest.java)
Mock Object Variable Name: scaleDownConditionTO
Suggested Diff
@@
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
- ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
+ ConditionTO scaleDownConditionTO = createMockConditionTO(scaleDownCounterTO);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
- when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
@@
Original Test Code (click to expand)
@Test
public void setGetAutoScaleMetricsCommandMetrics() {
AutoScaleVmGroupTO groupTO = Mockito.mock(AutoScaleVmGroupTO.class);
AutoScalePolicyTO scaleUpPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleUpConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleUpCounterTO = Mockito.mock(CounterTO.class);
when(scaleUpPolicyTO.getId()).thenReturn(scaleUpPolicyId);
when(scaleUpPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleUpConditionTO));
when(scaleUpConditionTO.getCounter()).thenReturn(scaleUpCounterTO);
when(scaleUpCounterTO.getSource()).thenReturn(Counter.Source.CPU);
when(scaleUpCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleUpCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS.toString());
AutoScalePolicyTO scaleDownPolicyTO = Mockito.mock(AutoScalePolicyTO.class);
ConditionTO scaleDownConditionTO = Mockito.mock(ConditionTO.class);
CounterTO scaleDownCounterTO = Mockito.mock(CounterTO.class);
when(scaleDownPolicyTO.getId()).thenReturn(scaleDownPolicyId);
when(scaleDownPolicyTO.getConditions()).thenReturn(Arrays.asList(scaleDownConditionTO));
when(scaleDownConditionTO.getCounter()).thenReturn(scaleDownCounterTO);
when(scaleDownCounterTO.getSource()).thenReturn(Counter.Source.VIRTUALROUTER);
when(scaleDownCounterTO.getProvider()).thenReturn(Network.Provider.VirtualRouter.getName());
when(scaleDownCounterTO.getValue()).thenReturn(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS.toString());
when(groupTO.getPolicies()).thenReturn(Arrays.asList(scaleUpPolicyTO, scaleDownPolicyTO));
List<VirtualRouterAutoScale.AutoScaleMetrics> result = autoScaleManagerImplSpy.setGetAutoScaleMetricsCommandMetrics(groupTO);
Assert.assertEquals(2, result.size());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_RECEIVED_AVERAGE_MBPS, result.get(0).getCounter());
Assert.assertEquals(VirtualRouterAutoScaleCounter.NETWORK_TRANSMIT_AVERAGE_MBPS, result.get(1).getCounter());
}
Reusable Method for MCI (click to expand)
private static ConditionTO createMockConditionTO(CounterTO counterTO) {
ConditionTO conditionTO = Mockito.mock(ConditionTO.class);
when(conditionTO.getCounter()).thenReturn(counterTO);
return conditionTO;
}
Mock Clone Instance #cloudstack_MCI_249
- Scope: method level
- Mocked Class:
java.io.InputStream
- Test Case Count: 3
- MO Count: 3
Reusable Method
private InputStream inputStream;
@BeforeEach
public void setUp() {
inputStream = mock(InputStream.class);
}
inputStream;
The refactoring details in each test cases
Test Case ID #cloudstack_Test_249_1
Test Case Name: getSnhItfReqTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Suggested Diff
@@
@Test
public void getSnhItfReqTest() throws Exception {
Document document = mock(Document.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
- InputStream inputStream = mock(InputStream.class);
+ // removed local mock; replaced with global field `inputStream`
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
- when(httpEntity.getContent()).thenReturn(inputStream);
+ when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenReturn(document);
assertEquals(document, introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Original Test Code (click to expand)
@Test
public void getSnhItfReqTest() throws Exception {
Document document = mock(Document.class);
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenReturn(document);
assertEquals(document, introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
private InputStream inputStream;
@BeforeEach
public void setUp() {
inputStream = mock(InputStream.class);
}
inputStream;
Test Case ID #cloudstack_Test_249_2
Test Case Name: getSnhItfReqWithParserConfigurationExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Suggested Diff
@@
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
- InputStream inputStream = mock(InputStream.class);
+ // removed local mock; replaced with global field `inputStream`
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
@@
- when(httpEntity.getContent()).thenReturn(inputStream);
+ when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenThrow(ParserConfigurationException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
Original Test Code (click to expand)
@Test
public void getSnhItfReqWithParserConfigurationExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenThrow(ParserConfigurationException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
private InputStream inputStream;
@BeforeEach
public void setUp() {
inputStream = mock(InputStream.class);
}
inputStream;
Test Case ID #cloudstack_Test_249_3
Test Case Name: getSnhItfReqWithSAXExceptionTest(File: C:\Java_projects\Apache\cloudstack\plugins\network-elements\tungsten\src\test\java\org\apache\cloudstack\network\tungsten\vrouter\IntrospectApiConnectorImplTest.java)
Suggested Diff
@@
HttpEntity httpEntity = mock(HttpEntity.class);
- InputStream inputStream = mock(InputStream.class);
+ // removed local mock; replaced with global field `inputStream`
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
Original Test Code (click to expand)
@Test
public void getSnhItfReqWithSAXExceptionTest() throws Exception {
CloseableHttpClient httpClient = mock(CloseableHttpClient.class);
CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class);
HttpEntity httpEntity = mock(HttpEntity.class);
InputStream inputStream = mock(InputStream.class);
DocumentBuilderFactory documentBuilderFactory = mock(DocumentBuilderFactory.class);
DocumentBuilder documentBuilder = mock(DocumentBuilder.class);
when(HttpClients.createDefault()).thenReturn(httpClient);
when(httpClient.execute(any(HttpUriRequest.class))).thenReturn(closeableHttpResponse);
when(closeableHttpResponse.getEntity()).thenReturn(httpEntity);
when(httpEntity.getContent()).thenReturn(inputStream);
when(DocumentBuilderFactory.newInstance()).thenReturn(documentBuilderFactory);
when(documentBuilderFactory.newDocumentBuilder()).thenReturn(documentBuilder);
when(documentBuilder.parse(any(InputStream.class))).thenThrow(SAXException.class);
assertNull(introspectApiConnector.getSnhItfReq("948f421c-edde-4518-a391-09299cc25dc2"));
}
Reusable Method for MCI (click to expand)
private InputStream inputStream;
@BeforeEach
public void setUp() {
inputStream = mock(InputStream.class);
}
inputStream;